如何将额外的 postdata 传递到添加记录函数 - JQGrid - MVC 中.网 [英] How to pass additional postdata into an add record function - JQGrid - MVC . NET

查看:15
本文介绍了如何将额外的 postdata 传递到添加记录函数 - JQGrid - MVC 中.网的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 MVC 项目中使用 JQGrid 插件.我试图避免使用会话".使用 JQGrid 中的序列化数据方法,我已经能够将额外的 postdata 传递到我的编辑和删除函数中.

I am using the JQGrid plugin on an MVC project. I am trying to avoid using 'Session'. I have been able to pass extra postdata into my edit and delete functions, using the serializedata methods from JQGrid.

例如

serializeEditData: function (postdata) 
{
    var rowdata = jQuery('#gridId').getRowData(postdata.id);
    return {id: postdata.id, oper: postdata.oper, SomeExtraData: $('#extradata').val()};
}

但是,似乎没有 serializeAddData 函数.是否有另一种方法可以在发送之前更改 add 方法的 post 数据?

However, there doesn't appear to be a serializeAddData function. Is there another way to alter the post data for the add method before it is sent?

推荐答案

一种方法 editGridRow 实现编辑"和添加"对话框的表单编辑.所以同样的事件han`ler serializeEditData 可以在这两种情况下都使用.例如,

There are one method editGridRow which implement form editing for both "Edit" and "Add" dialogs. So the same event han`ler serializeEditData can be used in both cases. For example,

$("#list").jqGrid('navGrid','#pager',
    {/*navGrid options*/},
    {/*edit options*/
        serializeEditData: function (postdata) {
            // your implementation of serializeEditData for edit
        }
    },
    {/*add options*/
        serializeEditData: function (postdata) {
            // your implementation of serializeEditData for add
        }
    },
    {/*del options*/},
    {/*search options*/}

/);

serializeEditData 事件通常非常实用,如果您需要将 all 发布的数据转换为另一种格式,例如进行 JSON 序列化.为了能够传递额外的 postdata 参数,您可以使用 editData 参数代替,其含义与 jqGrid 的 postData 参数相同:

Typically serializeEditData event is very practical if you need convert all the posted data in another format, for example to make JSON serialization. To be able to pass extra postdata parameters you can use editData parameter instead which has the same meaning like postData parameter of jqGrid:

$("#list").jqGrid('navGrid','#pager',
    {/*navGrid options*/},
    {/*edit options*/
     editData: {SomeExtraData: $('#extradata').val()}
    },
    {/*add options*/
     editData: {SomeExtraData: $('#extradata').val()}
    },
    {/*del options*/},
    {/*search options*/}
);

或以这种方式更好(参见 this answer关于函数作为postData的属性的用法):

or better in this way (see this answer about the usage of functions as the property of postData):

$("#list").jqGrid('navGrid','#pager',
    {/*navGrid options*/},
    {/*edit options*/
     editData: {SomeExtraData: function() {return $('#extradata').val();}}
    },
    {/*add options*/
     editData: {SomeExtraData: function() {return $('#extradata').val();}}
    },
    {/*del options*/},
    {/*search options*/}
);

这篇关于如何将额外的 postdata 传递到添加记录函数 - JQGrid - MVC 中.网的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆