我試圖通過調用ajax webmethod(asp.net)來編輯jqgrid表單中的選擇元素。jqgrid表單編輯editoptions選擇ajax添加參數
如果我調用一個沒有參數的方法,Everythings很好用。
這是代碼的摘錄:
ajaxSelectOptions: { type: "POST", contentType: 'application/json; charset=utf-8', },
colNames: ['City', 'State'],
colModel: [
{
name: 'City',
index: 'City',
align: "center",
width: 80,
searchoptions: { sopt: ['eq', 'ne', 'cn']} ,
edittype: 'select',
editable: true,
editrules: { required: true },
editoptions: {
dataUrl: '<%# ResolveUrl("~/Service/Domain/ServiceGeographic.asmx/GetCityByState") %>',
buildSelect: function (data) {
var retValue = $.parseJSON(data);
var response = $.parseJSON(retValue.d);
var s = '<select id="customer_City" name="customer_City">';
if (response && response.length) {
for (var i = 0, l = response.length; i < l; i++) {
s += '<option value="' + response[i]["Id"] + '">' + response[i]["Descrizione"] + '</option>';
}
}
return s + "</select>";
}
}
},
...
我在哪裏可以設置發送到GetCityByState的webmethod的參數,如果我嘗試調用一個WebMethod期待一個字符串參數它不工作?
編輯:我沒有強調我使用POST來調用webmethod。即使我試圖爲Oleg suggested on this link,它不工作:(
THX奧列格,我應該通過計算器發送UA禮物,最後幾天的答案;)無論如何,首先你應該使用:數據後(對於誰可以從這個優勢用戶話題)。錯誤改變了,它變成了「無效的json基元」。我解決這個[這次靜態]方式的數據:「{'selectedValue':'value'}」 – frabiacca 2012-02-11 13:56:08
@frabiacca:我仔細讀了你寫的關於錯誤的內容。我認爲我的建議應該更正爲使用'JSON.stringify()'。如果你在'ajaxSelectOptions'裏面使用'type:「POST」',那麼你必須使用'data:JSON.stringify({selectedValue:'value'})''。它不舒服,因爲你不能使用功能。如果你要在webmethod中使用和使用'UseHttpGet = true'選項,你將能夠以'data:{selectedValue:function(){return JSON.stringify($(「#list」) .jqGrid('getGridParam','selrow')); }' – Oleg 2012-02-11 14:13:21
@Oleg我可以直接綁定''string to column without ajax call。 – 2016-12-14 04:11:56