忆水思寒 2018-12-14 08:54 采纳率: 25%
浏览 311

Repeater 怎么获取在其内部动态创建的控件的值?

后台在Repeater的OnItemCommand事件中动态创建的几个控件放在了Repeater中,然后回传时获取不到刚创建的控件,请问怎么解决,或者有什么好的替代方案

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 10:36
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要从ASP.NET Repeater动态创建的控件中获取其值,可以使用JavaScript或jQuery来处理。以下是两种方法:

    1. 使用JavaScript:
    <script>
        $(document).ready(function () {
            var repeater = $("#myRepeater").data("repeater");
            repeater.on("command:created", function (e) {
                e.data.control.value;
            });
        });
    </script>
    
    1. 使用jQuery:
    $(function () {
        var repeater = $('#myRepeater').data('repeater');
        repeater.on('item.created', function (e) {
            e.data.control.value;
        });
    });
    

    以上两个示例都将在Repeater的"created"事件上添加一个监听器,当新的控制被创建时,它会返回其值。

    注意:这两个示例都是通过数据绑定的方式实现的。如果Repeater中的动态控件没有绑定到任何数据源(例如,在前端直接生成),则无法正常工作。

    另外,如果Repeater本身已经包含了多个动态控件,并且这些控件的数据不是由同一个数据源提供,那么你可能需要考虑使用更复杂的解决方案,比如在每次更新时将新创建的控件添加到列表中。这可能会涉及到一些额外的工作量,但通常可以确保所有控件都能正确地更新。

    最后,请确保你的Repeater实例是正确的,并且其数据源已经被设置为能够正确地提供所需的数据。

    评论

报告相同问题?