Come faccio a inserire un suggerimento / segnaposto all'interno di un asp: TextBox? Quando dico un suggerimento, intendo un testo che scompare quando l'utente fa clic su di esso. C'è un modo per ottenere lo stesso risultato usando html / css?
Come faccio a inserire un suggerimento / segnaposto all'interno di un asp: TextBox? Quando dico un suggerimento, intendo un testo che scompare quando l'utente fa clic su di esso. C'è un modo per ottenere lo stesso risultato usando html / css?
Risposte:
placeholder
attributoStai cercando l' placeholder
attributo. Usalo come qualsiasi altro attributo all'interno del tuo controllo ASP.net:
<asp:textbox id="txtWithHint" placeholder="hint" runat="server"/>
Non preoccuparti del tuo IDE (cioè Visual Studio) forse non conoscendo l'attributo. Gli attributi che non sono registrati con ASP.net vengono passati e visualizzati così come sono. Quindi il codice sopra (fondamentalmente) esegue il rendering in:
<input type="text" placeholder="hint"/>
placeholder
di risorseUn ottimo modo per applicare il suggerimento al controllo è utilizzare le risorse . In questo modo potresti avere suggerimenti localizzati. Supponiamo che tu abbia un file index.aspx , il tuo file App_LocalResources / index.aspx.resx contiene
<data name="WithHint.placeholder">
<value>hint</value>
</data>
e il tuo controllo sembra
<asp:textbox id="txtWithHint" meta:resourcekey="WithHint" runat="server"/>
il risultato renderizzato sarà lo stesso di quello nel capitolo precedente.
Come qualsiasi altro attributo puoi aggiungere il placeholder
a AttributeCollection
:
txtWithHint.Attributes.Add("placeholder", "hint");
"WithHint.placeholder"
non ha funzionato per me.
<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: 52 %>" />
o per risorse globali:<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: ResourceFile, ResourceValue %>" />
Scrivi in questo modo:
<asp:TextBox ID="TextBox1" runat="server" placeholder="hi test"></asp:TextBox>
<asp:TextBox runat="server" ID="txtPassword" placeholder="Password">
Questo funzionerà, potresti sentire che non funziona perché Intellisence non mostra il segnaposto
Aggiunta di attributi segnaposto dal code-behind:
txtFilterTerm.Attributes.Add("placeholder", "Filter" + Filter.Name);
O
txtFilterTerm.Attributes["placeholder"] = "Filter" + Filter.Name;
Aggiunta di attributi segnaposto dalla pagina aspx
<asp:TextBox type="text" runat="server" id="txtFilterTerm" placeholder="Filter" />
O
<input type="text" id="txtFilterTerm" placeholder="Filter"/>
asp:TextBox ID="txtName" placeholder="any text here"
placeholder
attributo per le caselle di testo.