私のMVC3アプリケーションでは、コントローラーactionresultを使用して2セットのJsonデータを返し、ビュー内の2つの別々のjqGridに渡します。
コントローラのactionresultの戻り値は次のようになります。
return Json(new
{
A= holderA,
B= holderB
},JsonRequestBehavior.AllowGet);
ここで、AとBは、LINQtoSQLクエリから取得されたデータの配列です。
ビューでjqGridsをjqueryする必要があり、最初のグリッドは結果の「パートA」からのデータを受け入れ、2番目のグリッドは結果の「パートB」からのデータを受け入れる必要があります。
jqGridでactionresultの個々のコンポーネント(つまりAとB)にアクセスする方法を知る必要がありますが、データの送信元を参照できる特定のオプションはありますか?
ここで役立つ場合は、1つのグリッドがどのように見えるかです...
jQuery("#GridA").jqGrid({
url: "/MyController/MyActionresult",
datatype: 'json',
postData: {
Name: function () {
return $("#Name").val();
},
Year: function () {
return $("#SelectedYear").val()
}
},
mtype: 'POST',
colNames: ['Name', 'Age', 'Total']
colModel: [
{ name: 'Name', index: 'Name', align: 'left' },
{ name: 'Age', index: 'Age', align: 'left' },
{ name: 'Total', index: 'Total', width: 150, align: 'left', search: false }],
pager: jQuery('#GridAPager'),
rowNum: 250,
height: 250,
rowList: [250, 500, 1000, 2000],
sortname: 'Name',
sortorder: "asc",
viewrecords: true,
hiddengrid: false,
caption: 'List of People',
gridComplete: function () {
onGridComplete("#GridA");}
});
$("#GridA").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: true });
});
また、2番目のグリッドはほとんど同じですが、表示されるフィールドがわずかに異なります。
1つのactionresultから両方のデータセットを返したい理由は、フォームの送信ボタンがクリックされると両方のグリッドにデータが入力されるためです。
どんな助けも素晴らしいでしょう、
ありがとう。