Comment mettre un indice dans un asp: textbox
Comment insérer un indice/un espace réservé dans un asp: TextBox? Lorsque je dis un indice, je veux dire un texte qui disparaît lorsque l'utilisateur clique dessus. Existe-t-il un moyen d'obtenir le même résultat en utilisant HTML/CSS?
L'attribut placeholder
Vous recherchez l'attribut placeholder
. Utilisez-le comme n'importe quel autre attribut dans votre contrôle ASP.net:
<asp:textbox id="txtWithHint" placeholder="hint" runat="server"/>
Ne vous préoccupez pas de votre IDE (Visual Studio) peut-être ne connaissant pas l'attribut. Les attributs qui ne sont pas enregistrés avec ASP.net sont transmis et restitués tels quels. Donc, le code ci-dessus (en gros) rend:
<input type="text" placeholder="hint"/>
Utilisation de placeholder
dans les ressources
Une bonne façon d'appliquer l'indicateur au contrôle est d'utiliser ressources . De cette façon, vous pouvez avoir des indications localisées. Supposons que vous ayez un fichier index.aspx que votre fichier App_LocalResources/index.aspx.resx contient
<data name="WithHint.placeholder">
<value>hint</value>
</data>
et votre contrôle ressemble à
<asp:textbox id="txtWithHint" meta:resourcekey="WithHint" runat="server"/>
le résultat sera identique à celui du chapitre précédent.
Ajouter un attribut dans le code derrière
Comme tout autre attribut, vous pouvez ajouter le placeholder
au AttributeCollection
:
txtWithHint.Attributes.Add("placeholder", "hint");
Il suffit d'écrire comme ceci:
<asp:TextBox ID="TextBox1" runat="server" placeholder="hi test"></asp:TextBox>
<asp:TextBox runat="server" ID="txtPassword" placeholder="Password">
Cela fonctionnera un certain temps, vous aurez peut-être le sentiment que cela ne fonctionne pas car Intellisence ne s'affiche pas placeholder
Ajout d'attributs d'espace réservé à partir de code-behind:
txtFilterTerm.Attributes.Add("placeholder", "Filter" + Filter.Name);
Ou
txtFilterTerm.Attributes["placeholder"] = "Filter" + Filter.Name;
Ajout d'attributs d'espace réservé à partir de la page aspx
<asp:TextBox type="text" runat="server" id="txtFilterTerm" placeholder="Filter" />
Ou
<input type="text" id="txtFilterTerm" placeholder="Filter"/>
asp:TextBox ID="txtName" placeholder="any text here"