Wie füge ich einen Hinweis in ein asp: -Textfeld ein?

101

Wie füge ich einen Hinweis / Platzhalter in eine asp: TextBox ein? Wenn ich einen Hinweis sage, meine ich einen Text, der verschwindet, wenn der Benutzer darauf klickt. Gibt es eine Möglichkeit, dasselbe mit HTML / CSS zu erreichen?

user590849
quelle
2
Welche Browser unterstützen Sie? HTML5-Browser unterstützen das placeholderAttribut für Textfelder.
Rikitikitik

Antworten:

198

Das placeholderAttribut

Sie suchen nach dem placeholderAttribut. Verwenden Sie es wie jedes andere Attribut in Ihrem ASP.net-Steuerelement:

<asp:textbox id="txtWithHint" placeholder="hint" runat="server"/>

Kümmern Sie sich nicht um Ihre IDE (dh Visual Studio) , die das Attribut möglicherweise nicht kennt . Attribute, die nicht bei ASP.net registriert sind, werden unverändert weitergeleitet und gerendert. Der obige Code rendert also (im Grunde) zu:

<input type="text" placeholder="hint"/>

Verwendung placeholderin Ressourcen

Eine gute Möglichkeit, den Hinweis auf das Steuerelement anzuwenden, ist die Verwendung von Ressourcen . Auf diese Weise haben Sie möglicherweise lokalisierte Hinweise. Angenommen , Sie haben eine index.aspx- Datei, die Ihre App_LocalResources / index.aspx.resx- Datei enthält

<data name="WithHint.placeholder">
    <value>hint</value>
</data>

und deine Kontrolle sieht aus wie

<asp:textbox id="txtWithHint" meta:resourcekey="WithHint" runat="server"/>

Das gerenderte Ergebnis sieht genauso aus wie im obigen Kapitel.

Attribut im Code dahinter hinzufügen

Wie jedes andere Attribut können Sie das Add placeholderauf die AttributeCollection:

txtWithHint.Attributes.Add("placeholder", "hint");
Linus Caldwell
quelle
2
Aus irgendeinem Grund hat der Ressourcentrick "WithHint.placeholder"bei mir nicht funktioniert.
Mmm
1
Wenn Sie Ressourcen verwenden, können Sie dies für eine lokale Ressourcendatei tun: <asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: 52 %>" />oder für globale Ressourcen:<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: ResourceFile, ResourceValue %>" />
EvilDr
61

Schreiben Sie einfach so:

<asp:TextBox ID="TextBox1" runat="server" placeholder="hi test"></asp:TextBox>
Pathak Tejpal
quelle
19
 <asp:TextBox runat="server" ID="txtPassword" placeholder="Password">

Dies wird funktionieren. Möglicherweise haben Sie irgendwann das Gefühl, dass es nicht funktioniert, da Intellisence keinen Platzhalter anzeigt

Shrivallabh
quelle
7

Hinzufügen von Platzhalterattributen aus CodeBehind:

txtFilterTerm.Attributes.Add("placeholder", "Filter" + Filter.Name);

Oder

txtFilterTerm.Attributes["placeholder"] = "Filter" + Filter.Name;

Platzhalterattribute von aspx Page hinzufügen

<asp:TextBox type="text" runat="server" id="txtFilterTerm" placeholder="Filter" />

Oder

<input type="text" id="txtFilterTerm" placeholder="Filter"/>
Shibu Thomas
quelle
0
asp:TextBox ID="txtName" placeholder="any text here"
Ahmed Soliman
quelle