ASP.NET MVC 3 LoadingElementDuration无法正常工作?
我正在玩一个小的MVC 3应用程序,我已经在我的ajax提交的表单上设置了LoadingElementDuration参数,但它似乎根本没有效果。 如果我将其设置为1或5000, 则动画始终以相同的速度播放 。
这是一个已知的bug还是什么?
这是我的视图代码,它部分取自“Pro ASP.NET MVC 3 Framework”; 动画不会持续5秒钟:
@model IEnumerable @{ ViewBag.Title = "Appointment List"; } Appointment List
@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "tabledata", LoadingElementId = "loading", LoadingElementDuration = 5000 })) { Loading data from server...
Client Name Appointment Date @Html.Partial("AppointmentData", Model)
@Html.DropDownList("id", new SelectList(new[] { "All", "Joe", "Jane", "Bob" }, ViewBag.SelectedValue ?? "All")) }
我调整了一下库代码,看起来它确实是一个bug 。
问题出在jquery.unobtrusive-ajax.js的以下代码行中:
duration = element.getAttribute("data-ajax-loading-duration") || 0;
如果我将其更改为:
duration = parseInt(element.getAttribute("data-ajax-loading-duration")) || 0;
动画播放正确。 当它是一个数字时,jQuery show函数中的duration参数应该是一个整数,而不是一个字符串。
他们可能应该在官方图书馆中改变这一点。 我希望这可以帮助其他人。