1

给定一个文本框:

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

这呈现为类似于:

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

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

有没有办法覆盖客户端 ID,以便自动完成有更好的机会识别它们?

4

2 回答 2

4

2分。

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

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

于 2010-10-28T11:07:50.257 回答
1

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

于 2010-10-28T11:18:40.420 回答