如何在 asp: 文本框中放入提示

如何在 asp: TextBox 中放置提示/占位符?当我说一个提示时,我指的是一些当用户点击它时就会消失的文本。有没有使用 html/css 实现相同功能的方法?

209055 次浏览

placeholder属性

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

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

不用担心 IDE (例如 VisualStudio)或者 不知道的属性。未在 ASP.net 中注册的属性按原样传递和呈现。因此,上面的代码(基本上)呈现为:

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

Using placeholder in resources

A fine way of applying the hint to the control is using 资源. This way you may have localized hints. Let's say you have an Index.aspx file, your App _ LocalResources/index.aspx.resx file contains

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

and your control looks like

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

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

在代码后面添加属性

像任何其他属性一样,您可以将 placeholder添加到 AttributeCollection:

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

Just write like this:

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

这将工作,你可能会有一段时间觉得它不工作,因为 Intellisence 没有显示 占位符

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

Adding placeholder attributes from code-behind:

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"/>