所以我正在通过在asp.net中验证我的表单,我注意到渲染的表单输入元素正在将“name”属性从name="firstName"
更改为name="ctl00$ContentPlaceHolder1$txtFN"
。
它似乎抓住了输入元素的id以及其他一些我不能完全理解的文本。
供参考:
这是渲染元素 -
<input name="ctl00$ContentPlaceHolder1$txtEmail" type="text" id="ContentPlaceHolder1_txtEmail" class="reqT">
这就是我最初设置的内容 -
<asp:TextBox ID="txtFN" class="reqT" runat="server" name="firstName"></asp:TextBox>
有人能够澄清: - 这个插入的意义 - 它是否可以改变,如果是这样,它有什么样的影响
谢谢!
答案 0 :(得分:3)
ASP.NET这样做是为了确保输入元素上的完全唯一名称。您可以将ClientIDMode
更改为Static
。
Scott Gu在这里解释了几种方法:http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4-0-series.aspx
我个人认为web.config
选项最简单:
<system.web>
...
<pages clientIDMode="Static" />
...
</system.web>