Comment mettre un indice/placeholder dans une asp:TextBox ? Quand je dis un indice, je veux dire un texte qui disparaît lorsque l'utilisateur clique dessus. Existe-t-il un moyen de réaliser la même chose en utilisant html / css ?
Réponses
Trop de publicités?El placeholder
attribut
Vous cherchez le placeholder
attribut. 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 (c'est-à-dire Visual Studio). ne pas savoir l'attribut. Les attributs qui ne sont pas enregistrés auprès d'ASP.net sont transmis et rendus tels quels. Ainsi, le code ci-dessus donne (essentiellement) un rendu de :
<input type="text" placeholder="hint"/>
Utilisation de placeholder
dans les ressources
Une bonne façon d'appliquer le conseil au contrôle est d'utiliser ressources . De cette façon, vous pouvez avoir des indices localisés. Disons que vous avez un index.aspx votre App_LocalResources/index.aspx.resx Le fichier 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 rendu sera le même que celui du chapitre ci-dessus.
Ajouter un attribut dans le code derrière
Comme tout autre attribut, vous pouvez ajouter l'attribut placeholder
à la AttributeCollection
:
txtWithHint.Attributes.Add("placeholder", "hint");
Ajout d'attributs de type placeholder à partir du code-behind :
txtFilterTerm.Attributes.Add("placeholder", "Filter" + Filter.Name);
Ou
txtFilterTerm.Attributes["placeholder"] = "Filter" + Filter.Name;
Ajouter des attributs de type placeholder à partir d'une page aspx
<asp:TextBox type="text" runat="server" id="txtFilterTerm" placeholder="Filter" />
Ou
<input type="text" id="txtFilterTerm" placeholder="Filter"/>