ASP.net覆盖表单元素的客户端ID

时间:2010-10-28 10:51:22

标签: asp.net controls override clientid

给出一个文本框:

<asp:Textbox runat="server" id="txtAddress1" />

这呈现类似于:

的东西
<input name="ctl00$mainContent$txtAddress1" type="text" id="ctl00_mainContent_txtAddress1" />

我认为浏览器自动完成功能不会将此名称/ ID识别为可以自动填充的字段,它们不是标准的可识别名称。

有没有办法覆盖客户端ID,以便自动填充更有可能识别它们?

2 个答案:

答案 0 :(得分:4)

2分。

1)ASP.Net 4.0中引入了“覆盖名称”功能,对于任何属性,您可以选择硬编码名称而不是动态名称。您需要小心,因为您不希望2个对象共享名称。

2)ASP.Net 2.0及更高版本(可能已经在v1.0中)在控件上有一个名为“AutoCompleteType”的属性,它向浏览器提供了框中需要哪些信息的提示。

答案 1 :(得分:1)

假设您正在使用Asp.net 4.0,并且您知道DJIDave提到的要点,您可以在控件上使用ClientIDMode属性,并将其设置为“Static”。然后,您在Asp.Net的Id字段中指定的内容将被带到您的最终标记,并且不会被Asp.Net“损坏”(因为缺少更好的词)。

相关问题