重复ID会导致有关viewstate的随​​机错误吗?

时间:2013-04-15 09:28:40

标签: c# asp.net ajax viewstate web-controls

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文件中的所有重复

1 个答案:

答案 0 :(得分:3)

  

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

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

ListView1$ctrl0$ProductIDLabel
ListView1$ctrl1$ProductIDLabel

有关详情,请参阅:ASP.NET Web Server Control Identification

  

当控件位于创建多个的数据绑定控件内时   控件的实例,即您为ID属性指定的值   与命名容器连接并递增   索引。

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