MVC GridView コントロールのコールバックに問題があります。ページが最初にロードされたときはすべて問題ないように見えますが、コールバックを必要とするアクションを実行すると (たとえば、ページを変更しようとした場合)、アクションは正常に実行されますが、ロード アニメーションがグリッド上に表示され、消えることはありません。
ここで奇妙なのは、実際のコールバックが適切に機能することです。ページ 2 に変更すると、グリッドがページ 2 で更新され、正しいデータがすべて表示されますが、ロード アニメーションは消えません。見出しをクリックして並べ替えを変更すると、新しい並べ替えが適用され、グリッドが更新されますが、読み込み中のアニメーションは引き続き表示され、消えません。
私のコードは次のとおりです (これは単なる「いじり回し」の学習演習であるため、目前の問題に関係のないコードについてはコメントしないでください)。
表示 - Browse.cshtml
@model IEnumerable<VTData.Models.Client>
@{
ViewBag.Title = "Browse";
}
<h1>Browse clients</h1>
@Html.Partial("BrowsePartial", Model)
表示 - BrowsePartial.cshtml
@model IEnumerable<VTData.Models.Client>
@Html.DevExpress().GridView(
settings =>
{
settings.Name = "ClientGrid";
settings.CallbackRouteValues = new {
Controller = "Clients",
Action = "ClientsPartial"
};
settings.KeyFieldName = "Id";
settings.Columns.Add("Code");
settings.Columns.Add("Given");
settings.Columns.Add("Surname");
}
).Bind(Model).GetHtml()
コントローラ
public class ClientsController : Controller
{
//
// GET: /Clients/
public ActionResult Index()
{
var db = VTData.VTDatabase.Connect();
var sql = PetaPoco.Sql.Builder.Select("*").From("client");
return View("Browse", db.Query<Client>(sql));
}
public ActionResult ClientsPartial()
{
var db = VTData.VTDatabase.Connect();
var sql = PetaPoco.Sql.Builder.Select("*").From("client");
return PartialView("BrowsePartial", db.Query<Client>(sql));
}
}
ここで何が問題なのかわかりません。何か案は?