如何在asp:textbox中放置提示


Answers:


199

placeholder属性

您正在寻找placeholder属性。像在ASP.net控件内的任何其他属性一样使用它:

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

不要担心您的IDE(即Visual Studio),也许不知道该属性。未在ASP.net中注册的属性将通过并按原样呈现。因此,以上代码(基本上)呈现为:

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

利用placeholder资源

将提示应用于控件的一种好方法是使用资源。这样,您可能具有本地化的提示。假设您有一个index.aspx文件,您的App_LocalResources / index.aspx.resx文件包含

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

和您的控件看起来像

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

渲染结果与上一章中的结果相同。

在代码后面添加属性

与其他任何属性一样,您可以将添加placeholderAttributeCollection

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

2
由于某种原因,资源技巧"WithHint.placeholder"对我不起作用。
Mmm

1
使用资源时,您可以针对本地资源文件<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: 52 %>" />或全球资源执行此操作:<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: ResourceFile, ResourceValue %>" />
EvilDr

在代码中添加控件时,您显然需要的是:myTextBox.Attributes.Add(“ placeholder”,“ hint”);
艾略特·吉伦


19
 <asp:TextBox runat="server" ID="txtPassword" placeholder="Password">

这可能会起作用,您可能会由于智能未显示占位符而感到一段时间不起作用


7

从代码后面添加占位符属性:

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

要么

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

从aspx页面添加占位符属性

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

要么

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.