后台在Repeater的OnItemCommand事件中动态创建的几个控件放在了Repeater中,然后回传时获取不到刚创建的控件,请问怎么解决,或者有什么好的替代方案
1条回答 默认 最新
- 你知我知皆知 2024-08-07 10:36关注
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
要从ASP.NET Repeater动态创建的控件中获取其值,可以使用JavaScript或jQuery来处理。以下是两种方法:
- 使用JavaScript:
<script> $(document).ready(function () { var repeater = $("#myRepeater").data("repeater"); repeater.on("command:created", function (e) { e.data.control.value; }); }); </script>
- 使用jQuery:
$(function () { var repeater = $('#myRepeater').data('repeater'); repeater.on('item.created', function (e) { e.data.control.value; }); });
以上两个示例都将在Repeater的"created"事件上添加一个监听器,当新的控制被创建时,它会返回其值。
注意:这两个示例都是通过数据绑定的方式实现的。如果Repeater中的动态控件没有绑定到任何数据源(例如,在前端直接生成),则无法正常工作。
另外,如果Repeater本身已经包含了多个动态控件,并且这些控件的数据不是由同一个数据源提供,那么你可能需要考虑使用更复杂的解决方案,比如在每次更新时将新创建的控件添加到列表中。这可能会涉及到一些额外的工作量,但通常可以确保所有控件都能正确地更新。
最后,请确保你的Repeater实例是正确的,并且其数据源已经被设置为能够正确地提供所需的数据。
解决 无用评论 打赏 举报