下划线加上数字序列值附加到元素id的末尾

时间:2014-11-14 20:49:15

标签: html asp.net .net repeater

有人知道为什么会发生这种情况吗?

我有一个aspx页面,其中包含由转发器填充的数据。由于某种原因,数字序列值被附加到.net创建的所有元素ID。元素ID的示例。

id="SearchResults_rep_ChkBoxSelectRecord_ID_100001_0"
id="SearchResults_rep_ChkBoxSelectRecord_ID_100002_1"
id="SearchResults_rep_ChkBoxSelectRecord_ID_100003_2"
id="SearchResults_rep_ChkBoxSelectRecord_ID_100004_3"

但是,元素名称没有附加额外的值:

name="SearchResults_rep_ChkBoxSelectRecord_ID_100001"
name="SearchResults_rep_ChkBoxSelectRecord_ID_100002"
name="SearchResults_rep_ChkBoxSelectRecord_ID_100003"
name="SearchResults_rep_ChkBoxSelectRecord_ID_100004"

id在整数代码隐藏中动态分配。 ...这在本地运行时不会发生,但在我们的登台服务器上发生。我知道ClientIDMode,如果我不想使用.net id自动命名约定,但如果我现在更改了该属性,则需要更多代码更改。我遇到了为什么会发生这种情况。有什么想法吗?

如果相关,请提供更多信息。登台服务器正在运行带有IIS 6的Windows Server 2003

1 个答案:

答案 0 :(得分:0)

我最终发现了这个问题的解决方案,它与将.net 2.0中的代码升级到4.0以及ClientIDMode的默认值有关,对于.net 4.0是Predictable

<pages clientIDMode="AutoID">添加到web.config中的System.Web节点解决了这个问题。