これは、ASP.NET MVC Web アプリケーションを構築しているシナリオです。
page.aspx
インフラジスティックス イグリッドを含むWeb ページがあります。として初期化されます。
$.ig.loader(function () {
$("#listingGrid").igGrid({
primaryKey:"Code",
autoGenerateColumns: false,
responseDataKey: "Data.d",
columns: _data,
features: [
{
name: "GroupBy",
},
{
name: 'Paging', pageSize: 10, type: "remote",
recordCountKey: "Data.TotalRowCount",
pageSizeUrlKey: "pagesize",
pageIndexUrlKey: "curpage"
},
{
name: "Sorting",
type: "local"
},
{
name: "Summaries",
type: "local"
}
]
});
});
そして、私はこのようなボタンクリックでこのグリッドにデータを取得しています
$("#showRecords").click(function () {
var url = "/Main/Grid?tbname=" + parameter;
var jsonp = new $.ig.JSONPDataSource({
dataSource: url, paging: {
enabled: true, pageSize: 10,
type: "remote"
}
});
$("#listingGrid").igGrid("dataSourceObject", jsonp).igGrid("dataBind");
});
これは正常に動作するはずです
しかしiiは、page.aspxの子ページである別のページをsearch.aspxとして持っています
このように同じ方法でデータをバインドしようとしています
$("#ok").click(function () {
var url = "/Main/Grid?tbname=" + parameter + "&_query=" + query;
var jsonp = new $.ig.JSONPDataSource({
dataSource: url, paging: {
enabled: true, pageSize: 10,
type: "remote"
}
});
window.parent.$("#listingGrid").igGrid("dataSourceObject", jsonp).igGrid("dataBind");
});
しかし、URL呼び出しはコントローラー側には行きません
これが私のコントローラーです
public ActionResult Grid(string tbname, string _query, int pagesize, int curpage)
{
res = MvcApplication.dbm.SqlQuery(_query).ToList();
var jsonDataObj = Json(new
{
responseDataKey = "d",
CurrentRecords=skip+top,
_skip=skip,
_top=top,
TotalRowCount=_totalrowcount,
d = res
});
return Json(res);
}
page.aspx
呼び出しはデータバインディングのためにコントローラーに送られますが、呼び出しは行われsearch.aspx
ません。
どこが間違っているのか、それを行うためのより良い方法を教えてください。前もって感謝します