2014-11-14 33 views
0

有人知道爲什麼會發生這種情況嗎?下劃線加數字序列值被追加到元素ID結尾

我有一個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被動態地在從代碼隱藏的整數分配。 ...在本地運行時不會發生這種情況,但發生在我們的臨時服務器上。如果我不想使用.net id auto命名約定,我知道ClientIDMode,但如果現在更改屬性,它將需要太多的代碼更改。至於爲什麼會發生這種情況,我正在碰壁。有任何想法嗎?

更多信息以防萬一。登臺服務器正在運行帶有IIS的Windows Server 2003 6

+0

你的第二個例子應該有name =「..」而不是id =「...」嗎?或者我誤解了一些東西? – 2014-11-14 21:00:25

+0

@KristianFrost是的你是正確的,我修正了:) – Popo 2014-11-14 21:02:03

+0

偉大的:)這些複選框是CheckBoxList的一部分嗎? – 2014-11-14 21:08:56

回答

0

我確實最終發現了此問題的解決方案,它不得不將代碼從.net 2.0升級到4.0以及ClientIDMode的缺省值。網絡4.0是Predictable

<pages clientIDMode="AutoID">添加到web.config中的System.Web節點解決了問題。