A有一个用多个项目渲染的ListView 现在我想用JQuery切换一些HTML属性。因此,最好通过唯一ID访问这些元素。
但是试图通过
创建一个“动态”的独特ID<tr runat="server" ID='<%# this.GetUniqueID() %>'>
</tr>
会导致错误,告诉我ID必须简单,并且无法通过调用方法来设置。
我知道我可以在代码隐藏中动态创建控件并在那里设置ID。但在这种情况下,我宁愿让内容由ListView本身呈现。
这让我得出结论,在模板中设置动态ID的想法是完全错误的。我怎样才能达到预期的行为?
编辑:好的我刚刚发现,我可以使用BindingExpression设置ID,例如
ID='<%# Eval("MyColumnWithUniqueID") %>'
还有,还有其他甚至更好的解决方案吗?
答案 0 :(得分:2)
你可以这样做:
<tr id='<%# "row" + Container.DataItem %>'>
这将使用列表中项目的位置为其提供带有“行”前缀的数字ID。
因此,您只需获得row0
,row1
等