ヒントをasp:textboxに配置する方法


101

ヒント/プレースホルダーをasp:TextBox内に配置するにはどうすればよいですか?ヒントとは、ユーザーがクリックすると消えるテキストのことです。html / cssを使用して同じことを達成する方法はありますか?


2
どのブラウザをサポートしていますか?HTML5ブラウザーはplaceholder、テキストボックスの属性をサポートしています。
rikitikitik 2013

回答:


198

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");

2
何らかの理由で、リソーストリック"WithHint.placeholder"は機能しませんでした。
うーん

1
:リソースを使用するときは、ローカルリソースファイルのためにこれを行うことができます<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: 52 %>" />:またはグローバルリソースのための<asp:TextBox ID="txtWithHint" runat="server" placeholder="<%$ Resources: ResourceFile, ResourceValue %>" />
EvilDr


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

これは機能しますが、Intellisenceがプレースホルダーを表示していないために機能していないと感じることがあります


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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.