TextBox, contrôle
Le contrôle TextBox génère des zones de texte d'une seule ligne. Le texte entré par un utilisateur dans une zone de texte est stocké dans la propriété Text, qui est héritée de la classe de base TextControl.
Remarque Évitez d'utiliser des valeurs de propriété ID dupliquées pour des contrôles TextBox sur différentes pages d'une même application Web mobile ASP.NET. De nombreux navigateurs WML version 1.1 présentent la caractéristique d'ignorer la valeur associée à une balise <input> si un paquet de cartes contenant une balise <input> du même nom a été précédemment chargé à partir du même site. La valeur de la balise <input> chargée précédemment est affichée à la place de la valeur qui a été la plus récemment chargée.
Syntaxe des contrôles mobiles
Les propriétés, valeurs par défaut et éléments de code requis sont indiqués en caractères gras.
<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>
Remarque ASP.NET ignore les attributs de style (Font* et *Color) lors du rendu vers les ensembles d'adaptateurs.
Attributs personnalisés
L'attribut wmlFormat du contrôle TextBox est envoyé aux périphériques WML en tant que propriété Format de l'élément WML <input>. Il s'agit d'un attribut personnalisé distinct des attributs de première classe du contrôle.
Remarque L'attribut wmlFormat se substitue à la propriété WML Numeric pour le contrôle Textbox du format WML. Par exemple, si l'attribut wmlFormat a la valeur NNN, l'élément d'entrée est limité à trois caractères numériques. Pour obtenir la liste complète des formats valides, consultez la spécification WML disponible sur le forum consacré au protocole WAP (Wireless Application Protocol), à l'adresse suivante : http://www.wapforum.org.
L'attribut personnalisé useRandomID du contrôle TextBox peut être défini de manière à crypter l'identificateur du contrôle (clientID) pour des raisons de sécurité. Les contrôles Textbox pour lesquels la propriété Password a la valeur true sont cryptés automatiquement.
Pour plus d'informations, consultez Attributs personnalisés.
Règles relatives à la relation contenant-contenu
Les règles de la relation contenant-contenu pour toutes les classes concrètes dérivées de la classe TextControl sont identiques. Elles sont affichées dans le tableau ci-dessous. Les contrôles suivants peuvent contenir un contrôle TextBox.
Contrôle | Commentaires |
---|---|
System.Web.UI.MobileControls.Form | Peut contenir n'importe quel nombre de contrôles TextBox. |
System.Web.UI.MobileControls.Panel | Peut contenir n'importe quel nombre de contrôles TextBox. |
Le contrôle TextBox ne peut pas contenir d'autres contrôles.
Modèles de périphériques
Aucun.
Comportement spécifique au périphérique
Le style de rendu d'un contrôle TextBox diffère selon le périphérique ; toutefois, le texte du contrôle s'affiche sur tous les périphériques.
En langages HTML et WML, une zone de texte est rendue sur sa propre ligne, sous la forme d'une balise <input>, suivie d'une balise <br> (saut de ligne).
Langage du périphérique | Description du comportement |
---|---|
HTML | La propriété Size détermine la longueur du contrôle TextBox rendu.
La propriété Title est ignorée. Lorsque la propriété Type a la valeur Password, la zone de texte est rendue dans un style spécifique aux mots de passe. Une propriété Type dont la valeur est Numeric est ignorée. |
WML | Le texte de la propriété Title est affiché.
Lorsque la propriété Type a la valeur Password, la balise <Input> générée possède un style spécifique aux mots de passe. Lorsque l'attribut Type a la valeur Numeric, la balise <Input> reçoit un attribut Format, qui suggère un champ uniquement numérique. Les périphériques interprètent alors cet attribut de format comme si le mode d'entrée était devenu de type numérique. |
Pour plus d'informations sur la façon dont les différents attributs de style sont interprétés sur les divers périphériques, consultez la section Héritage de style dans Styles et Rendu spécifique au périphérique.
Exemple
L'exemple suivant illustre l'utilisation de l'événement OnTextChanged avec le contrôle TextBox. L'exemple contient un seul formulaire qui affiche une étiquette, une zone de texte et une commande. Lorsqu'un utilisateur tape des données dans la zone de texte et qu'il clique sur le bouton de commande, les données sont renvoyées au serveur par publication. Si le texte du contrôle TextBox diffère de la précédente publication, un message s'affiche pour indiquer que le texte a été modifié. Cet exemple illustre également l'utilisation de certaines propriétés du contrôle TextBox, la définition d'une longueur limite et le mode d'entrée avec mot de passe.
<%@ 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>
Voir aussi
TextBox, classe | TextBox, membres de classe | Attributs personnalisés | Guide de référence des contrôles