Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用自定义按钮发送到JQGrid';是editurl吗?_Javascript_Jquery_Asp.net_Free Jqgrid - Fatal编程技术网

Javascript 如何使用自定义按钮发送到JQGrid';是editurl吗?

Javascript 如何使用自定义按钮发送到JQGrid';是editurl吗?,javascript,jquery,asp.net,free-jqgrid,Javascript,Jquery,Asp.net,Free Jqgrid,我将下面的自定义按钮添加到我的导航页面,但我希望它查看我选择的内容,并将其发送到JQGrid的editurl进行处理,这是一个ASHX.CS页面 但当涉及到自定义按钮时,我无法理解文档 我可以用onClickButton:customButtonClicked调用本地函数,但它不像EDIT按钮那样发送数据 最后,我要做的是选择多行并按下导航栏上的按钮,然后批准所有选择的记录 //添加第一个自定义按钮 $(“#jQGrid”).navButtonAdd(“#jQGridPager”, { 按钮图

我将下面的自定义按钮添加到我的导航页面,但我希望它查看我选择的内容,并将其发送到JQGrid的editurl进行处理,这是一个ASHX.CS页面 但当涉及到自定义按钮时,我无法理解文档

我可以用onClickButton:customButtonClicked调用本地函数,但它不像EDIT按钮那样发送数据

最后,我要做的是选择多行并按下导航栏上的按钮,然后批准所有选择的记录

//添加第一个自定义按钮
$(“#jQGrid”).navButtonAdd(“#jQGridPager”,
{
按钮图标:“ui图标邮件已关闭”,
标题:“发送邮件”,
描述:“发送邮件”,
位置:“最后”,
编辑数据:{
WrkId:函数(){
var sel_id=$('#jQGrid').jQGrid('getGridParam','selarrrow');
var值=”;
对于(变量a=0;a);使用几个不同的词(如何手动将数据发布到服务器json),我能够找到一段更有意义的ajax代码(我确信我以前遇到过这个问题,但作为一个没有jquery经验的人,我不认识它)

但是下面的代码将JSON字符串中的数据发送到C#handler页面,该字符串是可处理的,必须使用dynamic来读取数据,但它工作正常,即使没有错误,也无法让它不返回错误,因此我使用complete:而不是success:然后调用触发器来重新加载JQGrid

最终代码:
$('jQGrid').navbuttonad('jQGridPager',
{
按钮图标:“ui图标检查”,
标题:“批准所有选定条目”,
标题:“批准”,
位置:“最后”,
onclick按钮:函数(){
var sel_id=$('#jQGrid').jQGrid('getGridParam','selarrrow');
var值=”;
对于(变量a=0;a=0){
警报('Success!\n'+xhr.responseText);
}
否则{
警报('Failed!\n'+xhr.responseText+'\n'+x);
};
$(“#jQGrid”).jQGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
}
})
}
});
C#代码
试试看
{
String postData=new System.IO.StreamReader(context.Request.InputStream.ReadToEnd();
var data=JsonConvert.DeserializeObject(postData);
批准(data.WrkId.ToString(),data.CurrentUser.ToString());
strResponse=“员工记录审批成功”;
}
抓住
{
strResponse=“未批准员工记录”;
}
context.Response.Write(strResponse);
$('#jQGrid').navButtonAdd('#jQGridPager',
            {
                buttonicon: "ui-icon-check",
                title: "Approve all selected entries",
                caption: "Approve",
                position: "last",
                onClickButton: function () {
                    var sel_id = $('#jQGrid').jqGrid('getGridParam', 'selarrrow');
                    var value = "";
                    for (var a = 0; a < sel_id.length; a++) {
                        value = value + $('#jQGrid').jqGrid('getCell', sel_id[a], 'wrkid') + ',';
                    };
                    $.ajax({
                        type: "POST",
                        url: "AdministrationHandler.ashx?oper=approve",
                        data: JSON.stringify({
                            WrkId: value,
                            CurrentUser: "<% =System.Web.HttpContext.Current.User.Identity.Name %>"
                        }),
                        dataType: "json",
                        contentType: "application/json; charsset=utf-8",
                        complete: function (xhr, x) {
                            if (xhr.responseText.toUpperCase().indexOf("SUCCESS") >= 0) {
                                alert('Success!\n' + xhr.responseText);
                            }
                            else {
                                alert('Failed!\n' + xhr.responseText + '\n' + x);
                            };
                            $("#jQGrid").jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
                        }
                    })
                }
            });
try
{
    String postData = new System.IO.StreamReader(context.Request.InputStream).ReadToEnd();
    var data = JsonConvert.DeserializeObject<dynamic>(postData);
    Approve(data.WrkId.ToString(), data.CurrentUser.ToString());
    strResponse = "Employee records successfully approved";
}
catch
{
    strResponse = "Employee records not approved";
}
context.Response.Write(strResponse);