2012-01-19 3 views
2

Я играю с небольшим приложением MVC 3, и я установил параметр LoadingElementDuration в моей форме, представленной в форме ajax, но, похоже, он не имеет никакого эффекта. Если я установил его в 1 или 5000, анимация всегда воспроизводится с одинаковой скоростью.ASP.NET MVC 3 LoadingElementDuration не работает?

Это известная ошибка или что-то еще?

Вот мой код просмотра, частично он взят из «Pro ASP.NET MVC 3 Framework»; анимация не длится 5 секунд:

@model IEnumerable<MvcAjax.Models.Appointment> 

@{ 
    ViewBag.Title = "Appointment List"; 
} 

<h2>Appointment List</h2> 

@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "tabledata", LoadingElementId = "loading", LoadingElementDuration = 5000 })) 
{ 
    <p id="loading" style="font-size: 70px; background-color: Red; display: none; overflow: hidden;">Loading data from server...</p> 

    <table> 
     <thead> 
      <tr> 
       <th>Client Name</th> 
       <th>Appointment Date</th> 
      </tr> 
     </thead> 
     <tbody id="tabledata"> 
      @Html.Partial("AppointmentData", Model) 
     </tbody> 
    </table> 

    <div> 
     @Html.DropDownList("id", new SelectList(new[] { "All", "Joe", "Jane", "Bob" }, ViewBag.SelectedValue ?? "All")) 
     <input type="submit" value="Submit" /> 
    </div> 

} 
+0

, пожалуйста, поделитесь некоторым кодом – Rafay

+0

Я добавил код своего вида. – StockBreak

ответ

8

Я подправил чуток код библиотеки и, кажется, что это действительно ошибка.
Проблема заключается в следующей строке кода из jquery.unobtrusive-ajax.js:

duration = element.getAttribute("data-ajax-loading-duration") || 0; 

Если изменить его на:

duration = parseInt(element.getAttribute("data-ajax-loading-duration")) || 0; 

анимация воспроизводится правильно. Когда это число, аргумент в функции jQuery show должен быть целым числом, а не строкой.

Возможно, они должны изменить это в официальной библиотеке. Надеюсь, это поможет другим людям.

+0

эта проблема не встречается в VS2015 MVC 5. Возможно, это была ошибка в MVC3 ~ 4 таймфрейма. Фантастическое наблюдение. –

Смежные вопросы