Como faço para colocar uma dica / espaço reservado dentro de um asp: TextBox? Quando digo uma dica, quero dizer algum texto que desaparece quando o usuário clica nele. Existe uma maneira de conseguir o mesmo usando html / css?
Como faço para colocar uma dica / espaço reservado dentro de um asp: TextBox? Quando digo uma dica, quero dizer algum texto que desaparece quando o usuário clica nele. Existe uma maneira de conseguir o mesmo usando html / css?
Respostas:
placeholder
atributoVocê está procurando o placeholder
atributo. Use-o como qualquer outro atributo dentro do seu controle ASP.net:
<asp:textbox id="txtWithHint" placeholder="hint" runat="server"/>
Não se preocupe com o seu IDE (ou seja, Visual Studio) talvez não conheça o atributo. Os atributos que não estão registrados com ASP.net são transmitidos e processados como estão. Portanto, o código acima (basicamente) é renderizado para:
<input type="text" placeholder="hint"/>
placeholder
recursosUma boa maneira de aplicar a dica ao controle é usando recursos . Dessa forma, você pode ter dicas localizadas. Digamos que você tenha um arquivo index.aspx , seu arquivo App_LocalResources / index.aspx.resx contém
<data name="WithHint.placeholder">
<value>hint</value>
</data>
e seu controle parece
<asp:textbox id="txtWithHint" meta:resourcekey="WithHint" runat="server"/>
o resultado renderizado será igual ao do capítulo acima.
Como qualquer outro atributo, você pode adicionar o placeholder
ao AttributeCollection
:
txtWithHint.Attributes.Add("placeholder", "hint");
"WithHint.placeholder"
não funcionou para mim.
<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: 52 %>" />
ou para recursos globais:<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: ResourceFile, ResourceValue %>" />
Basta escrever assim:
<asp:TextBox ID="TextBox1" runat="server" placeholder="hi test"></asp:TextBox>
<asp:TextBox runat="server" ID="txtPassword" placeholder="Password">
Isso funcionará, você pode achar que não está funcionando porque o Intellisence não mostra o marcador
Adicionando atributos de placeholder de code-behind:
txtFilterTerm.Attributes.Add("placeholder", "Filter" + Filter.Name);
Ou
txtFilterTerm.Attributes["placeholder"] = "Filter" + Filter.Name;
Adicionando atributos de espaço reservado da página 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"
placeholder
atributo para caixas de texto.