asp.net-mvc – MultiSelect jqgrid MVC3的OnClickButton函数参数

我试图在jqgrid中使用多选功能来选择多行并将其传递给控制器​​.我创建了一个按钮,如下所示,但是当我选择行并单击按钮时,未触发单击按钮事件.我猜我正在向函数传递错误的参数.以下是javascript代码
$("#request").jqGrid('navButtonAdd','#requestpager',{     caption: "Add",buttonicon: "ui-icon-info",title: "Add",//position: "first",onClickButton: function (ids) {
           var grid = $("#request");
             var rowids = grid.jqGrid('getGridParam','selarrrow');
             var count = rowids.length;
            var rowData,colData;
              for (var i = 0; i < count; i++) {
               rowData = $("#request").getRowData(rowids[i]);
               colData = rowData.Name;
       }
              jQuery("#request").jqGrid({ url: "/Home/Create/" + colData });

有没有人对我做错了什么有任何建议?

解决方法

好吧,在jqgrid中实现多选不难,我会给你一个我在项目中实现的工作示例.

HTML

<table id="grid" cellpadding="0" cellspacing="0"></table>//your grid
<div id="pagerGrid" style="text-align:center;"></div><br />//pager
<div><span><button type="button" id="sendMe"  class="send" >Send Me To Controller</button>//button which will take the data of all multiselect rows to controller

在你的JqGrid中只启用multiselect:true

并编写这个javascript函数

$('#sendMe').click(function(){
       var selRowIds = $('#grid').jqGrid('getGridParam','selarrrow');
       if(selRowIds.length>0)
       {
       for( var i=0;i<selRowIds.length;i++){
        var Id=getCellValue(selRowIds[i],'Id');

        var Name=getCellValue(selRowIds[i],'Name');
        var Company=getCellValue(selRowIds[i],'Company');

        $.ajax({
        type: 'POST',url: '@Url.Action("AddMe")',contentType: 'application/json; charset=utf-8',data:JSON.stringify({Id: Id,Name:Name,Company:Company}),dataType: "json",success:function(){
        $('#grid').trigger("reloadGrid");
         }

         error: function () {

        }

        }); 

        }
         }
       });

而你的控制器方法会像这样

[HttpPost]

 public ActionResult AddMe(int? Id,string Name,string Company)
 {
}

我希望这有帮助,它是一个有效的例子……

如果有帮助的话,请将其标记为答案.

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR&#160;ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...