In rete esistono molti esempi di come si possa cancellare il testo contenuto nelle TextBox presenti nella propria pagina aspx.
Molti di questi esempi partono dal presupposto che la nostra pagina aspx non sia agganciata ad una masterpage. In questo caso, per la particolare gerarchia delle pagine aspx rispetto alla masterpage, bisogna apportare una piccola modifica al codice in questione.
Si deve infatti prima individuare il ContentPlaceHolder all’interno del quale insistono le TextBox di cui si vuole modificare la proprietà Text e successivamente utilizzare una lambda expression per eliminare il testo.
public void ClearTextBoxText()
{
ContentPlaceHolder mpContentPlaceHolder;
mpContentPlaceHolder = (ContentPlaceHolder)Master
.("ContentPlaceHolder1");
if (mpContentPlaceHolder != null)
{
List<TextBox> txt = mpContentPlaceHolder.Controls
.OfType<TextBox>()
.ToList()
.ForEach(t => t.Text = string.Empty);
}
}
Related Posts:
Tags:
.net 3.5, asp.net, asp:textbox, c#, LINQ, textbox
Sono appena tornato dalla conferenza di ASPItalia “Real Code Day”, organizzata a Firenze nella struttura della Scuola Superiore Tecnologie Industriali (SSTI).
Tralascio l’organizzazione, appena sufficiente, considerati i problemi di rete e le continue sospensioni perchè dislocati in più aule collegate in wifi (numerosa partecipazione e, per dovere di cronaca, sentite scuse da parte di tutti anche di un tizio che credo sia il presidente/direttore/responsabile del SSTI.
Mi è piaciuta molto la disponibilità di Stefano Mostarda e Riccardo Golia al dialogo con tutti i partecipanti: una spanna sopra tutti.
Mi son piaciute molto meno le sessioni su WPF e Silverlight 4.0, troppo caciaroni e poco professionali gli speaker, il che, inevitabilmente, ha portato a disattenzione generale (soprattutto nelle aulee collegate in wireless) – una domanda su tutte: ma che ci frega di Silverlight e WPF e dello XAML, noi vogliamo vedere Blend (poi lo XAML ce lo leggiamo online).
Positivo il fatto che questa conferenza, come le altre due che ho seguito negli ultimi due mesi (ed organizzate direttamente da Microsoft), ti fanno tornare la passione di sviluppare applicazioni web di un certo livello e di approcciarsi al mondo dello sviluppo in un modo che non è per niente riscontrabile nella città di Roma (almeno nella mia diretta esperienza personale – spero esistano realtà diverse).
Related Posts:
Tags:
.net 4.0, asp.net, aspitalia, c#, firenze, LINQ, linqitalia, Microsoft, riccardo golia, scuola superiore tecnologie industriali, silverlight, ssti, stefano mostarda, toscana, wpf, xaml
L’obiettivo è la costruzione di un metodo (sia esso public, protected o private)
che ci consenta di estrarre una lista di stringhe.
La signature del nostro metodo sarà:
1
| public List<string> getMyString() |
Nel caso specifico vogliamo estrarre un set di dati rappresentati
da una e sola colonna di una tabella del nostro database.
Istintivamente, ci verrebbe da scrivere un pezzo di codice del tipo:
1
2
3
| var q = from t in context.myentity
select new { Codice = t.mycodice };
List<string> listaCodici = q1.ToList(); |
Ovviamente è errato, sintatticamente e semanticamente.
Non è corretto supporre che, essendo il campo mycodice, un campo varchar, esso venga poi rimappato in un insieme di stringhe. Il compilatore, quindi, tornerà il seguente errore:
Cannot implicitly convert type
‘System.Collections.Generic.List<anonymoustype #1>’ to ‘System.Collections.Generic.List<string>’
Esistono due diverse strade per ottemperare al nostro obiettivo.
La prima è quella di definire una struct o una classe customizzata che contenga al suo interno la property, stringa, che andremo poi a valorizzare estraendo i dati dal database tramite LINQ.
La seconda è quella di scrivere un pezzo di codice come:
1
2
3
4
5
| var q = from t in context.myentity
let codici = new { t.mycodice }
select codici;
List<string> listaCodici = (from c in q
select c.mycodice).ToList(); |
Related Posts:
Tags:
.net framework 3.5, c#, LINQ
Ipotizziamo di creare una solution in Visual Studio 2008 che strutturi
la nostra web application su n layer con un Object Model.
Il progetto Object Model conterrà l’Entity Model generato da VS2008.
Il DAL contiene, invece, il cuore dell’accesso ai dati: è nel DAL che
andremo a creare i metodi con le query LINQ per estrarre i dati secondo
le nostre esigenze.
L’obiettivo è quello di estrarre un sottoinsieme dei campi contenuti
nella tabella, dalla quale VS2008 ha creato il modello delle Entity.
Chiamiamo AEntity l’entity definita nel modello.
Intuitivamente vorremmo scrivere un blocco di codice di questo tipo,
dove BaseDataAccess contiene la dichiarazione dell’oggetto context:
1
2
3
4
5
6
7
8
9
10
11
12
13
| public class DizionarioDataAccess : BaseDataAccess
{
public List<objectmodel.AEntity> GetAll()
{
var items = from t in context.AEntity
select new
{
Nome = t.TABLE_NAME,
Cognome = t.TABLE_COGNOME
};
return items.ToList<objectmodel.AEntity>();
} |
Il compilatore tornerà questo errore:
‘System.Linq.IQueryable<anonymoustype #1>’ does not contain a
definition for ‘ToList’ and the best extension method overload
‘System.Linq.Enumerable.ToList<tsource>
(System.Collections.Generic.IEnumerable<tsource>)’
has some invalid arguments
L’errore deriva dal fatto che con la direttiva select new, stiamo andando
a definire un nuovo oggetto che poco ha a che fare con l’Entity definita nel nostro modello.
Per risolvere il problema possiamo seguire due strade: o imponiamo che il
tipo tornato dal nostro metodo sia IQueryable, o creiamo un oggetto customizzato che abbia al suo
interno solo le proprietà che vogliamo valorizzare ed estrarre dal db.
Related Posts:
Tags:
.net framework 3.5, c#, LINQ
RFOPortal online!
Superenalotto: e se fosse truccato?
Sony: pessima gestione ecommerce
Il sito rai.tv su android: problemi con silverlight