2013-04-05 21 views
69

Jak umieścić wskazówkę/symbol zastępczy w asp: TextBox? Kiedy mówię wskazówkę, mam na myśli tekst, który znika po kliknięciu przez użytkownika. Czy istnieje sposób na osiągnięcie tego samego przy użyciu html/css?Jak umieścić wskazówkę w asp: textbox

+2

Które przeglądarki obsługujesz? Przeglądarki HTML5 obsługują atrybut 'placeholder' dla pól tekstowych. – rikitikitik

+0

http://stackoverflow.com/questions/35501114/in-asp-net-unable-to-save-textboxes-if-the-text-is-given-in-between-and – Sachin

Odpowiedz

135

Atrybut placeholder

Szukacie atrybutu placeholder. Używaj go jak każdy inny atrybut wewnątrz kontrolą ASP.net:

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

Nie przejmuj się swoim IDE (czyli Visual Studio) może nie wiedząc atrybutu. Atrybuty niezarejestrowane w ASP.net są przekazywane i renderowane w niezmienionej formie. Więc powyższy kod (zasadniczo) renderuje do:

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

Korzystanie placeholder zasobów

dobrym sposobem nakładania wskazówkę do sterowania używa resources. W ten sposób możesz mieć zlokalizowane wskazówki. Powiedzmy, że masz plik index.aspx Twój App_LocalResources/index.aspx.resx plik zawiera

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

a kontrola wygląda

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

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

dodawania atrybutu w kodzie za

jak każdy inny atrybut można dodać placeholder do AttributeCollection:

txtWithHint.Attributes.Add("placeholder", "hint"); 
58

Wystarczy napisać tak:

<asp:TextBox ID="TextBox1" runat="server" placeholder="hi test"></asp:TextBox> 
14
<asp:TextBox runat="server" ID="txtPassword" placeholder="Password"> 

Ta wola praca może się wydawać, że nie działa, ponieważ nie wyświetla się Intellisence Atrybuty ing zastępczy

+5

Notatka o Intellisence jest bardzo pomocny! –

0
asp:TextBox ID="txtName" placeholder="any text here" 
4

Dodawanie zastępczy z opóźnieniem kodu: Atrybuty

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

Albo

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

Dodawanie zastępczy z aspx Page

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

lub

<input type="text" id="txtFilterTerm" placeholder="Filter"/>