Asp.net 如何从jQuery获取repeater项
我在页面上有一个转发器。中继器实际上位于.ascx中。在repeater中,每个项都有一些内容,例如添加按钮和几个其他字段 我正在尝试的是Container.DataItem,但它与单击的Add按钮相关。如果用户单击repeater列表中的add按钮,请为我提供与用户刚才单击的ItemTemplate中的按钮相关的Container.DataItem的引用 “添加”按钮实际上只是一个围绕常规HTML图像的常规HTML超链接。我在超链接中添加了一个ID,但不知道如何真正链接这两个ID并获得对DataItem的引用 我已经准备好了,可以使用jQuery飞行,做任何我想做的客户端事情 我开始的例子:Asp.net 如何从jQuery获取repeater项,asp.net,jquery,Asp.net,Jquery,我在页面上有一个转发器。中继器实际上位于.ascx中。在repeater中,每个项都有一些内容,例如添加按钮和几个其他字段 我正在尝试的是Container.DataItem,但它与单击的Add按钮相关。如果用户单击repeater列表中的add按钮,请为我提供与用户刚才单击的ItemTemplate中的按钮相关的Container.DataItem的引用 “添加”按钮实际上只是一个围绕常规HTML图像的常规HTML超链接。我在超链接中添加了一个ID,但不知道如何真正链接这两个ID并获得对Dat
<script type="text/javascript">
$(document).ready(function()
{
$(myUserControl.MyRepeater).
}
</script>
$(文档).ready(函数()
{
$(myUserControl.MyRepeater)。
}
中继器和数据项是服务器端控件,可从页面/控件背后的代码访问。您无法从客户端代码(javascript)访问它中继器和数据项是服务器端控件,可从页面/控件背后的代码获得。您无法从客户端代码(javascript)访问它。中继器本身不会生成任何HTML。它只会写您让它写的内容
因此,您需要做的是以某种方式标识每个项目,最好在HTML中使用唯一的id。这样您就可以通过DOM访问它
例如,如果呈现的标记看起来像这样,那么您实际上可以通过jquery访问“item1”:
<div id="item1">abc</div>
<div id="item2">def</div>
abc
def
要实现这一点,您可以在ItemTemplate中尝试以下操作:
<ItemTemplate>
<div id="item<%#Container.ItemIndex %>">bla</div>
</ItemTemplate>
布拉
中继器本身不会生成任何HTML。它只会编写您让它编写的内容
因此,您需要做的是以某种方式标识每个项目,最好在HTML中使用唯一的id。这样您就可以通过DOM访问它
例如,如果呈现的标记看起来像这样,那么您实际上可以通过jquery访问“item1”:
<div id="item1">abc</div>
<div id="item2">def</div>
abc
def
要实现这一点,您可以在ItemTemplate中尝试以下操作:
<ItemTemplate>
<div id="item<%#Container.ItemIndex %>">bla</div>
</ItemTemplate>
布拉
好的,那么问题仍然是如何将列表中的按钮与其对应的数据链接起来……这很难想象,尤其是当ASP.NET在所有东西上创建愚蠢的奇怪ID时。WebForms创建这些ID,并且在事件驱动的WebForms上下文中非常有意义。在ASP.NET中生成的ID很糟糕:)好的,那么问题仍然是我如何将列表中的按钮与其对应的数据链接起来……这很难想象,特别是当ASP.NET在所有东西上创建愚蠢的奇怪ID时。WebForms创建这些ID,并且在事件驱动的WebForms上下文中非常有意义。在ASP.NET中生成的ID很糟糕:)对,好的,那么我如何使用单击的右添加按钮链接正确的Container.ItemIndex?我想我还必须将这种id添加到超链接中,然后以某种方式检查jQuery中的匹配项?好的,然后我可能必须为我没有在转发器中向用户显示的任何字段添加一个隐藏字段,例如我的容器id,这是用户单击add按钮后我在jQuery中需要的。只要我有id=“itemID”和hyperlinnk id=“addButton”然后,我可以使用ItemIndex并通过搜索itemID&Container来搜索隐藏的itemID。从单击的超链接中进行索引我想这是最好的方法,除非其他人有更好的想法。您可能会想出一些涉及智能jQuery选择器和单击事件的方法。我很难想象在没有看到代码的情况下会发生什么。另外,如果每个超链接都有id=“addButton”,那么如果用户单击该超链接,您如何知道用户单击了哪个?我看不出jQuery如何知道要对哪个超链接执行操作。好的,那么我如何使用单击的右添加按钮链接正确的Container.ItemIndex?我想我还必须将这种id添加到超链接中,然后以某种方式检查jQuery中的匹配项?好的,然后我可能必须为我没有在转发器中向用户显示的任何字段添加一个隐藏字段,例如我的容器id,这是用户单击add按钮后我在jQuery中需要的。只要我有id=“itemID”和hyperlinnk id=“addButton”然后,我可以使用ItemIndex并通过搜索itemID&Container来搜索隐藏的itemID。从单击的超链接中进行索引我想这是最好的方法,除非其他人有更好的想法。您可能会想出一些涉及智能jQuery选择器和单击事件的方法。我很难想象在没有看到代码的情况下会发生什么。另外,如果每个超链接都有id=“addButton”,那么如果用户单击该超链接,您如何知道用户单击了哪个?我看不出jQuery如何知道该对哪个超链接进行操作。