2010-03-17 74 views
1

A有一個用多個項目呈現的ListView。
現在我想用JQuery切換一些HTML屬性。因此,最好通過唯一的ID訪問這些元素。如何動態設置ListView模板中的控件ID?

但是,試圖通過

<tr runat="server" ID='<%# this.GetUniqueID() %>'> 
</tr> 

結果,告訴我該ID必須簡單,不能用一個方法調用設置錯誤創建一個「動態的」,因此唯一的ID。

我知道我可以在代碼隱藏中動態創建控件並在其中設置ID。但在這種情況下,我寧願讓內容由ListView本身渲染。

這使我得出這樣的結論:在模板中設置一個背景ID的想法是完全錯誤的。我如何達到理想的行爲?

編輯:好,我剛剛發現,我可以設置ID與BindingExpression,像

ID='<%# Eval("MyColumnWithUniqueID") %>' 

不過,有另一種,甚至是更好的解決方案呢?

回答

1

你可以這樣做:

<tr id='<%# "row" + Container.DataItem %>'> 

這會給它一個數字ID使用該列表中的項目的位置「行」的前綴。

所以你只需要得到row0,row1