2

asp.net 接受不同模板字段中 asp.net 服务器控件的重复 ID。

<ItemTemplate>
<asp:HiddenField ID="HDN_MainCode" Value='<%#Eval("v_main_code")%>' runat="server" /> 
</ItemTemplate>

在另一个网格视图中:

<ItemTemplate>
<asp:HiddenField ID="HDN_MainCode" Value='<%#Eval("v_main_code")%>' runat="server" /> 
</ItemTemplate>

这种类型的重复会导致有关 viewstate 的随机错误吗?如果答案是肯定的,我怎么能检测到.aspx文档 中的所有重复

4

1 回答 1

3

这种类型的重复会导致有关 viewstate 的随机错误吗?

不会。这些内部控件在渲染时会获得唯一的 ID 。例如,如果您的 中有标签 ID ProductIDLabelListView则其生成的 ID 将类似于:

ListView1$ctrl0$ProductIDLabel
ListView1$ctrl1$ProductIDLabel

有关更多信息,请参阅:ASP.NET Web 服务器控件标识

当控件位于创建多个控件实例的数据绑定控件内时,分配给 ID 属性的值将与命名容器和递增索引连接。

但是如果您将ClientIDMode设置为Static,那么您将获得与 ASPX 页面中指定的 ID 相同的 ID。

于 2013-04-15T09:35:33.350 回答