加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在ASP.NET MVC应用程序中进行分页时,在Telerik M

发布时间:2020-12-16 03:57:35 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Telerik MVC Grid,其中一列是复选框.如果我选中复选框然后转到第2页然后返回第1页,则所有复选框都消失了.这当然是HTTP的工作方式.现在,我将所有选中的复选框放在隐藏字段中,但由于网格执行某种回发,我的隐藏字段将在下次清除. 解决方法 如果您正在
我正在使用Telerik MVC Grid,其中一列是复选框.如果我选中复选框然后转到第2页然后返回第1页,则所有复选框都消失了.这当然是HTTP的工作方式.现在,我将所有选中的复选框放在隐藏字段中,但由于网格执行某种回发,我的隐藏字段将在下次清除.

解决方法

如果您正在使用客户端数据绑定,则可以使用下面的 javascript / jquery来维护复选框状态.

保持复选框状态:

var selectedIds = [];

$(document).ready(function () {
    //wire up checkboxes.
    $('#YOUR_GRID_ID :checkbox').live('change',function (e) {
        var $check = $(this);
        console.log($check);
        if ($check.is(':checked')) {
            //add id to selectedIds.
            selectedIds.push($check.val());
        }
        else {
            //remove id from selectedIds.
            selectedIds = $.grep(selectedIds,function (item,index) {
                return item != $check.val();
            });
        }
    });
});

数据绑定后恢复复选框状态:

function onDataBound(e) {
    //restore selected checkboxes.
    $('#YOUR_GRID_ID :checkbox').each(function () {
        //set checked based on if current checkbox's value is in selectedIds.
        $(this).attr('checked',jQuery.inArray($(this).val(),selectedIds) > -1);
    });
}

我的博客上有更详细的解释:
http://blog.cdeutsch.com/2011/02/preserve-telerik-mvc-grid-checkboxes.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读