JQGrid在编辑期间发布数据

时间:2012-03-21 19:10:42

标签: jquery wcf jqgrid

我有一个JQgrid whcih在加载时工作正常。但我想向wcf服务发送一些额外的数据。我试过editData,Serializeeditdata但无法做到。任何人都可以帮我发送它。我搜索并尝试了很多并实施但没有用。如果我为我的保存方法添加参数,则jqgrid会抛出错误。

jQuery(document).ready(function() {
            jQuery("#grid").jqGrid({
                url: "../Service.svc/GetData",
                data: JSON.stringify(params),`enter code here`
                dataType: "json",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                colNames: ['Id', 'Value'],
                colModel: [{ name: 'Id', index: 'Id', width: 1, align: 'left', editable: false},
                        { name: 'Value', index: 'Value', width: 270, align: 'left', editable: true},
                       ],                
                pager: jQuery('#pageNavigation'),              
                editurl: "../Service.svc/SaveData",
                loadError: ShowError
            }).navGrid('#pageNavigation', { edit: true, add: true, del: true, search: false }, //options
                {// edit options
                editData: {firstName: 'Test'},
                height: 100, width: 230, reloadAfterSubmit: true, closeOnEscape: true
            }
        });

// WCF代码

<WebInvoke(Method:="POST", BodyStyle:=WebMessageBodyStyle.WrappedRequest, ResponseFormat:=WebMessageFormat.Json)> 
        Public Function GetData As String Implements Iservice.GetData
        End Function

        Public Sub SaveData(ByVal firstName As String) Implements Iservice.SaveData
         //Retreive name and Do Some operation
        End Sub

1 个答案:

答案 0 :(得分:0)

您是否还需要<WebInvoke>属性来装饰SaveData方法?你有吗,它不是你提供的代码的一部分?否则,您需要提供该方法,以便可以作为WCF调用访问您的方法。

<WebInvoke(Method:="POST", BodyStyle:="...", ...)>   
Public Sub SaveData(ByVal firstName As String) Implements Iservice.SaveData
 //Retreive name and Do Some operation
End Sub