给出一个文本框:
<asp:Textbox runat="server" id="txtAddress1" />
这呈现类似于:
的东西<input name="ctl00$mainContent$txtAddress1" type="text" id="ctl00_mainContent_txtAddress1" />
我认为浏览器自动完成功能不会将此名称/ ID识别为可以自动填充的字段,它们不是标准的可识别名称。
有没有办法覆盖客户端ID,以便自动填充更有可能识别它们?
答案 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“损坏”(因为缺少更好的词)。