0

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));
    }
}

ここで何が問題なのかわかりません。何か案は?

4

2 に答える 2

3

この問題に遭遇した他の人にとって、それは非常に単純で、まったく恥ずかしいことです. 問題は、DevExpress JavaScript を含める前に jQuery を含めていなかったことです。おっとっと!

于 2014-02-04T23:40:18.063 に答える