我在页面上有一个转发器。转发器实际上是.ascx。在转发器中,每个项目都有一些内容,例如“添加”按钮和其他几个字段。
我正在尝试Container.DataItem但是与单击的Add按钮相关的那个。如果用户单击转发器列表中的添加按钮,请为我提供与用户刚刚单击的ItemTemplate中的按钮相关的Container.DataItem的引用。
添加按钮实际上只是包含常规HTML图像的常规HTML超链接。我在超链接中添加了一个ID,但不知道如何真正链接这两个并获得对DataItem的引用。
我已经完成了设置,可以使用jQuery进行操作并执行我想要的任何客户端操作。
我开始的例子:
<script type="text/javascript">
$(document).ready(function()
{
$(myUserControl.MyRepeater).
}
</script>
答案 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)
Repeater
和DataItem
是服务器端控件,可从您的网页/控件的代码隐藏处获得。您无法从客户端代码(javascript)访问它。