Jak umieścić wskazówkę w asp: textbox

104

Jak umieścić wskazówkę / symbol zastępczy wewnątrz asp: TextBox? Kiedy mówię wskazówkę, mam na myśli tekst, który znika, gdy użytkownik go kliknie. Czy jest sposób na osiągnięcie tego samego za pomocą html / css?

user590849
źródło
2
Które przeglądarki obsługujesz? Przeglądarki HTML5 obsługują placeholderatrybut dla pól tekstowych.
rikitikitik

Odpowiedzi:

201

placeholderatrybut

Szukasz placeholderatrybutu. Użyj go jak każdego innego atrybutu wewnątrz kontrolki ASP.net:

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

Nie przejmuj się swoim IDE (np. Visual Studio), może nie znając atrybutu. Atrybuty, które nie są zarejestrowane w ASP.net, są przekazywane i renderowane bez zmian. Więc powyższy kod (w zasadzie) renderuje się do:

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

Korzystanie placeholderz zasobów

Dobrym sposobem zastosowania wskazówki do formantu jest użycie zasobów . W ten sposób możesz mieć zlokalizowane wskazówki. Załóżmy, że masz index.aspx plik, twoje App_LocalResources / index.aspx.resx plik zawiera

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

i wygląda twoja kontrola

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

renderowany wynik będzie wyglądał tak samo, jak w powyższym rozdziale.

Dodaj atrybut w kodzie za

Jak każdy inny atrybut, możesz dodać placeholderdo AttributeCollection:

txtWithHint.Attributes.Add("placeholder", "hint");
Linus Caldwell
źródło
2
Z jakiegoś powodu sztuczka z zasobami "WithHint.placeholder"nie zadziałała.
Mmm,
1
Korzystając z zasobów, możesz to zrobić dla lokalnego pliku zasobów: <asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: 52 %>" />lub dla zasobów globalnych:<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: ResourceFile, ResourceValue %>" />
EvilDr
podczas dodawania kontrolki w kodzie wszystko, czego potrzebujesz, to: myTextBox.Attributes.Add ("placeholder", "hint");
Eliot Gillum
61

Po prostu napisz tak:

<asp:TextBox ID="TextBox1" runat="server" placeholder="hi test"></asp:TextBox>
pathak tejpal
źródło
19
 <asp:TextBox runat="server" ID="txtPassword" placeholder="Password">

To zadziała, a czasami możesz odnieść wrażenie, że nie działa, ponieważ Inteligencja nie wyświetla symbolu zastępczego

Shrivallabh
źródło
7

Dodawanie atrybutów zastępczych z kodu źródłowego:

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

Lub

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

Dodawanie atrybutów zastępczych ze strony aspx

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

Lub

<input type="text" id="txtFilterTerm" placeholder="Filter"/>
Shibu Thomas
źródło
0
asp:TextBox ID="txtName" placeholder="any text here"
Ahmed Soliman
źródło