Add HTML5 placeholder text to a textbox .net

.net, asp.net, html, vb.net

Solution

You could use the `Attributes` collection. So you would have something like

txtSearchTerm.Attributes.Add("placeholder", "Search" + Site.Name);

or

txtSearchTerm.Attributes["placeholder"] = "Search" + Site.Name; // or Attributes("placeholder") if you're using vb.net

And if you're using resources for localization/translation:

txtSearchTerm.Attributes["placeholder"] = GetLocalResourceObject("YourLocalResourceName").ToString();

Problem

I have a standard input: ``` <asp:TextBox type="text" runat="server" id="txtSearchTerm" /> ``` I'd like to have this render with a dynamic HTML5 placeholder. Something like: ``` 'Code Behind txtSearchTerm.**placeholder** = "Search " + Site.Name ``` So that it outputs the following HTML: ``` <input type="text" runat="server" id="txtSearchTerm" placeholder="Search Site #1" /> ``` where Site.Name = "Site #1". txtSearchTerm.placeholder is not a property. I have it set to text and then run javascript to show/hide on focus BUT I would much rather just use the HTML5 placeholder value. How can I render this? Please no JS/client side solutions.

Original source

Related problems