デフォルト設定を使用して、Webグリッドを簡単に接続し、それにajaxを追加できます。しかし、私が理解するのに苦労していることの1つは、グリッドがajaxを介してソートまたはページングしているときに、ロードインジケーターを追加する方法です。
ajaxローディングインジケーターをオフにするのに最適なコールバック関数が組み込まれていますが、どうすれば簡単にオンにできますか?
以下は、現在Webグリッド用に使用しているコードです。
@{
var grid = new WebGrid(rowsPerPage: Model.CountPerPage, ajaxUpdateContainerId: "GridArea");
grid.Bind(Model.Users,
autoSortAndPage: false,
rowCount: Model.TotalCount
);
grid.Pager(WebGridPagerModes.All);
}
<div id="GridArea">
@grid.GetHtml(htmlAttributes: new {id ="UserGrid"},
columns: new [] {
grid.Column("ID", canSort: false),
grid.Column("FirstName"),
grid.Column("LastName"),
grid.Column("Email"),
grid.Column("FullName", canSort: false)
}
)
</div>
私は以下を使ってみましたが、どちらもうまくいきませんでした。
<script>
$(function () {
$("#UserGrid").live("ajaxStart", function () {
alert("start");
});
});
</script>
これは初めて機能しますが、グリッドが最初のajaxリフレッシュを実行した後は機能しません。
<script>
$(function () {
$('#UserGrid').ajaxStart(function () {
alert("start");
});
});
</script>