我在MVC GridView控件上遇到一些回调问题。当页面首次加载时,一切看起来都不错,但是当我执行任何需要回调的操作时(例如,如果我尝试更改页面),操作成功执行,但加载动画显示在网格上并且永远不会消失。 / p>
这里奇怪的是,实际的回调功能很好 - 如果我改为第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));
}
}
我无法弄清楚这里出了什么问题。有什么想法吗?
答案 0 :(得分:3)
对于遇到这个问题的任何人来说,这都是简单的,完全令人尴尬的。问题是我在包含DevExpress javascripts之前没有包含jQuery。糟糕!
答案 1 :(得分:1)
我遇到了类似的问题并解决了。当Dev express控件试图加载数据时,服务器端有一个空引用异常。解决该异常使我的控制工作正常。