我如何把提示放在asp:文本框中
如何在asp:TextBox中放置一个提示/占位符? 当我说一个提示时,我的意思是一些文字在用户点击时会消失。 有没有办法实现相同的使用HTML / CSS?
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"/>
呈现的结果将看起来像上面的章节一样。
在代码后面添加属性
像其他任何属性一样,您可以将placeholder
添加到AttributeCollection
:
txtWithHint.Attributes.Add("placeholder", "hint");
只是这样写:
<asp:TextBox ID="TextBox1" runat="server" placeholder="hi test"></asp:TextBox>
<asp:TextBox runat="server" ID="txtPassword" placeholder="Password">
这将工作,你可能会有一段时间觉得它不工作,因为Intellisence不显示占位符
从代码隐藏添加占位符属性:
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"/>
asp:TextBox ID="txtName" placeholder="any text here"