內部變量值I通常通過使用代碼如設置元素
<%= StrEnterName %>
和聲明/由公共字段中的代碼填充它後面做語言的變化。現在,我雖然使用了一個佔位符,這意味着變量字符串應該放入一個標籤中,但它會被假定爲文字,而不是翻譯,我會看到所有的百分號和括號。所以,以下顯然是錯誤的。
<input id="Name" placeholder="<%= StrEnterName %>" runat="server"></input>
什麼是正確的語法?
內部變量值I通常通過使用代碼如設置元素
<%= StrEnterName %>
和聲明/由公共字段中的代碼填充它後面做語言的變化。現在,我雖然使用了一個佔位符,這意味着變量字符串應該放入一個標籤中,但它會被假定爲文字,而不是翻譯,我會看到所有的百分號和括號。所以,以下顯然是錯誤的。
<input id="Name" placeholder="<%= StrEnterName %>" runat="server"></input>
什麼是正確的語法?
如果這是一個服務器端控件,爲什麼不從代碼後面設置它?
//In page load
Name.placeholder = StrEnterName;
UPDATE:
您可以指定任何你想要這樣的屬性:
Name.Attributes["placeholder"] = StrEnterName;
輸入沒有'佔位符'屬性。 – 2012-08-13 16:53:08
除了@TimSchmelter所說的,我總想知道如何解決這個問題,我應該在某個時候被瘋狂/醉鬼的客戶端請求動態生成部分標記。 (不太可能,但可能...) – 2012-08-13 16:59:07
@ tim-schmelter HTML5提供了帶有佔位符屬性的新輸入類型http://msdn.microsoft.com/en-us/magazine/hh547102.aspx – chridam 2012-08-13 17:04:34
什麼是輸入的類型? – chridam 2012-08-13 16:45:15
@chridam這是一個'type =「text」'。我沒有明確地使用它,因爲它是默認的。你的意思是語法**是**正確的,但不適用於某些類型的'輸入'?! – 2012-08-13 17:15:14
查看關於內容屬性「佔位符」http://www.w3.org/TR/html5/the-input-element.html以及http://weblogs.asp.net/dotnetstories的W3C規範/archive/2011/12/24/using-html-5-form-input-elements-in-asp-net-applications.aspx。也許作爲使用html5佔位符在ASP.NET中輸入文本框的ASP.NET Webforms替代方案,您可以將屬性佔位符添加到asp:Textbox標記,然後在後面的代碼中指定,例如@AbeMiessler所做的。 – chridam 2012-08-13 17:43:47