如何从jQuery获取repeater项目

时间:2010-01-05 19:42:09

标签: asp.net jquery

我在页面上有一个转发器。转发器实际上是.ascx。在转发器中,每个项目都有一些内容,例如“添加”按钮和其他几个字段。

我正在尝试Container.DataItem但是与单击的Add按钮相关的那个。如果用户单击转发器列表中的添加按钮,请为我提供与用户刚刚单击的ItemTemplate中的按钮相关的Container.DataItem的引用。

添加按钮实际上只是包含常规HTML图像的常规HTML超链接。我在超链接中添加了一个ID,但不知道如何真正链接这两个并获得对DataItem的引用。

我已经完成了设置,可以使用jQuery进行操作并执行我想要的任何客户端操作。

我开始的例子:

<script type="text/javascript">

$(document).ready(function()
{
    $(myUserControl.MyRepeater).
}

</script>

2 个答案:

答案 0 :(得分:6)

转发器不会生成任何自己的HTML。它只会写出你要写的东西。

所以你要做的就是以某种方式识别每个项目,最好是HTML中的唯一ID。这样你就可以通过DOM获得访问权限。

例如,如果渲染的标记看起来像这样,那么你实际上可以通过jquery访问“item1”:

<div id="item1">abc</div>
<div id="item2">def</div>

要完成此任务,您可以在ItemTemplate中尝试这样的事情:

<ItemTemplate>
  <div id="item<%#Container.ItemIndex %>">bla</div>
</ItemTemplate>

答案 1 :(得分:1)

RepeaterDataItem是服务器端控件,可从您的网页/控件的代码隐藏处获得。您无法从客户端代码(javascript)访问它。