Controllo TextBox

Il controllo TextBox genera caselle di testo a riga singola. Il testo immesso da un utente in una casella di testo viene memorizzato nella proprietà Text ereditata dalla classe base TextControl.

Nota   Evitare di utilizzare valori duplicati della proprietà ID per i controlli TextBox su pagine differenti di una singola applicazione Web ASP.NET per computer portatili. È una caratteristica comune a diversi browser WML versione 1.1 che il valore associato a un tag <input> viene ignorato se un deck nel quale è contenuto un tag <input> dal nome identico è stato precedentemente caricato dallo stesso sito. Verrà visualizzato il valore del tag <input> precedentemente caricato anziché il valore del tag fornito più di recente.

Sintassi dei controlli mobili

Le proprietà necessarie, le impostazioni predefinite e gli elementi dalle funzionalità di codice sono in grassetto.

<mobile:TextBox  runat="server"
   id="id"
   Font-Name="fontName"
   Font-Size={NotSet|Normal|Small|Large}
   Font-Bold={NotSet|False|True}
   Font-Italic="{NotSet|False|True}
   ForeColor="foregroundColor"
   BackColor="backgroundColor"
   Alignment={NotSet|Left|Center|Right}
   StyleReference="styleReference"
   Wrapping="{NotSet|Wrap|NoWrap}"

   MaxLength="maxLength"
   Numeric="{True, False}"
   Password="{True, False}"
   OnTextChanged="textChangedEventHandler"
   Size="textBoxLength"
   Text="Text"
   InnerText>
</mobile:TextBox>

Nota   Gli attributi di stile Font* e *Color vengono ignorati durante il rendering sugli insiemi di adattatori.

Attributi personalizzati

L'attributo wmlFormat per il controllo TextBox viene inviato ai dispositivi WML come proprietà Format dell'elemento WML <input>. Si tratta di un attributo personalizzato, che si differenzia dagli attributi di prima classe del controllo.

Nota   La presenza dell'attributo wmlFormat fa sì che venga ignorata la proprietà WML numeric per il controllo Textbox del formato WML. Se, ad esempio, l'attributo wmlFormat è impostato su NNN, l'elemento di input sarà limitato a tre caratteri numerici. Per un elenco completo di formati validi, vedere la specifica WML disponibile nel Forum WAP (Wireless Application Protocol) all'indirizzo http://www.wapforum.org.

Per motivi di protezione, l'attributo personalizzato useRandomID per il controllo TextBox può essere impostato per determinare la crittografia dell'identificativo del controllo, ovvero il clientID. I controlli Textbox la cui proprietà Password è impostata su true vengono automaticamente crittografati.

Per ulteriori informazioni, vedere Attributi personalizzati.

Regole di contenimento

Le regole di contenimento derivate dalla classe TextBox sono identiche per tutte le classi concrete e sono elencate nella tabella riportata di seguito. I controlli descritti di seguito possono contenere un controllo TextBox.

Controllo Commenti
System.Web.UI.MobileControls.Form Può contenere un numero indefinito di controlli TextBox.
System.Web.UI.MobileControls.Panel Può contenere un numero indefinito di controlli TextBox.

Nel controllo TextBox non possono essere contenuti altri controlli.

Modelli di dispositivo

Nessuno.

Comportamento specifico del dispositivo

Lo stile con cui viene eseguito il rendering di un controllo TextBox differisce in base al dispositivo, ma il testo del controllo verrà visualizzato su tutti i dispositivi.

Per i linguaggi HTML e WML una casella di testo viene rappresentata sulla relativa riga come un tag <input> seguito da un tag <br> di interruzione di riga.

Linguaggio del dispositivo Descrizione del comportamento
HTML La proprietà Size determina la lunghezza del controllo TextBox di cui è stato eseguito il rendering.

La proprietà Title viene ignorata.

Quando la proprietà Type è impostata su Password, la casella di testo assumerà l'aspetto di una casella in cui viene chiesto di immettere una password. Una proprietà Type di Numeric viene ignorata.

WML Viene visualizzato il testo nella proprietà Title.

Quando la proprietà Type è impostata su Password, il tag <Input> generato presenterà l'aspetto una casella in cui immettere una password. Quando l'attributo Type è Numeric, al tag <Input> verrà assegnato un attributo Format per il tag <Input> che si riferisce soltanto a un campo numerico. L'attributo Format verrà quindi interpretato dai dispositivi come se dalla modalità di input si fosse passato alla modalità numerica.

Per ulteriori informazioni sull'interpretazione dei differenti attributi di stile sui diversi dispositivi, vedere la sezione relativa all'ereditarietà degli stili nelle documentazioni Stili e Rendering specifico di dispositivo.

Esempio

Nell'esempio riportato di seguito viene illustrato l'utilizzo dell'evento OnTextChanged sul controllo TextBox. Nell'esempio viene utilizzato un form singolo su cui sono visualizzati un'etichetta, una casella di testo e un comando. Quando l'utente immette dati nella casella di testo, quindi fa clic sul pulsante del comando, i dati verranno inviati nuovamente al server tramite postback. Se il testo nel controlloTextBox è diverso dal testo nel postback precedente, verrà visualizzato un messaggio in cui si avvisa che il testo è stato modificato. In questo esempio vengono anche descritte alcune delle proprietà del controllo TextBox e illustrate l'impostazione di un limite di lunghezza e la modalità di immissione della password.

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage" 
   Language="VB" %>
<%@ Register TagPrefix="mobile"
    Namespace="System.Web.UI.MobileControls"
    Assembly="System.Web.Mobile" %>

<script language="vb" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
   ' Provide the default setting.
   Label1.Text = "TextBox Unchanged"

   ' Dynamically set attributes of the TextBox.
   TextBox1.Alignment = Alignment.Center
   TextBox1.MaxLength = 5
   TextBox1.Password = True
End Sub

Sub AlertUser(sender As Object, e As EventArgs)
   Label1.Text = "TextBox Changed"
End Sub
</script>

<mobile:Form id="Form1" runat="server">
   <mobile:Label runat="server" id="Label1" Alignment="center" />
   <mobile:TextBox runat="server" id="TextBox1" 
      OnTextChanged="AlertUser" />
   <mobile:Command runat="server" Text="Submit" 
      Alignment="center" />
</mobile:Form>
[C#]
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage" 
   Language="c#" %>
<%@ Register TagPrefix="mobile"
    Namespace="System.Web.UI.MobileControls"
    Assembly="System.Web.Mobile" %>

<script language="c#" runat="server">
void Page_Load(object sender, EventArgs e)
{
   // Provide the default setting.
   Label1.Text = "TextBox Unchanged";

   // Dynamically set attributes of the TextBox.
   TextBox1.Alignment = Alignment.Center;
   TextBox1.MaxLength = 5;
   TextBox1.Password = true;
}

void AlertUser(Object sender, EventArgs e)
{
   Label1.Text = "TextBox Changed";
}
</script>

<mobile:Form id="Form1" runat="server">
   <mobile:Label runat="server" id="Label1" Alignment="center" />
   <mobile:TextBox runat="server" id="TextBox1" 
      OnTextChanged="AlertUser" />
   <mobile:Command runat="server" Text="Submit" 
      Alignment="center" />
</mobile:Form>

Vedere anche

Classe TextBox | Membri della classe TextBox | Attributi personalizzati | Riferimenti ai controlli