118

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

4

5 回答 5

225

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");
于 2013-04-05T00:32:36.527 回答
61

就这样写:

<asp:TextBox ID="TextBox1" runat="server" placeholder="hi test"></asp:TextBox>
于 2013-04-05T00:34:28.767 回答
19
 <asp:TextBox runat="server" ID="txtPassword" placeholder="Password">

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

于 2015-02-18T11:23:28.700 回答
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"/>
于 2016-01-08T05:36:13.517 回答
0
asp:TextBox ID="txtName" placeholder="any text here"
于 2015-11-19T12:42:43.710 回答