如何动态设置ListView模板中的控件ID?

时间:2010-03-17 10:19:13

标签: c# asp.net jquery

A有一个用多个项目渲染的ListView 现在我想用JQuery切换一些HTML属性。因此,最好通过唯一ID访问这些元素。

但是试图通过

创建一个“动态”的独特ID
<tr runat="server" ID='<%# this.GetUniqueID() %>'>
</tr>

会导致错误,告诉我ID必须简单,并且无法通过调用方法来设置。

我知道我可以在代码隐藏中动态创建控件并在那里设置ID。但在这种情况下,我宁愿让内容由ListView本身呈现。

这让我得出结论,在模板中设置动态ID的想法是完全错误的。我怎样才能达到预期的行为?

编辑:好的我刚刚发现,我可以使用BindingExpression设置ID,例如

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

还有,还有其他甚至更好的解决方案吗?

1 个答案:

答案 0 :(得分:2)

你可以这样做:

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

这将使用列表中项目的位置为其提供带有“行”前缀的数字ID。

因此,您只需获得row0row1