Я работаю над приложением ASP.NET MVC 3 и у меня возникли некоторые проблемы. У меня есть PartialView, который имеет кнопку отправки. Код выглядит примерно так:
@using (Html.BeginForm("Edit", "IceCream", FormMethod.Post, new { id = "editicecreamform" + @Model.IceCreamID }))
{
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
@Html.TextBoxFor(model => model.FirstDateTime, new { @class = "mydatetime" })
@Html.ValidationMessageFor(model => model.FirstDateTime)
@Html.TextBoxFor(model => model.SecondDateTime, new { @class = "mydatetime" })
@Html.ValidationMessageFor(model => model.FirstDateTime)
<input type="submit" value="Save" data-icecream="@Model" />
}
и часть скрипта выглядит так:
<script type="text/javascript">
$('.mydatetime').datetimepicker({
showSecond: true,
timeFormat: 'hh:mm:ss TT',
hourGrid: 4,
minuteGrid: 10
});
$(document).ready(function () {
var options = {
target: "#icecreamdetails@(Model.IceCreamID)",
url: '@Url.Action("Edit", "IceCream")',
success: UpdateGrid // not germane to discussion
};
$("#editicecreamform@(Model.IceCreamID)").submit(function () {
$(this).ajaxSubmit(options);
return false;
});
});
</script>
Мое действие редактирования выглядит примерно так:
[HttpPost]
public PartialViewResult Edit(IceCreamCreateEditViewModel viewModel)
{
if (ModelState.IsValid)
{
}
return PartialView();
}
Ошибка возникает, когда я редактирую запись, оставляю поле Имя пустым и пытаюсь сохранить его. В свойстве viewmodel есть аннотация [Required]
, поэтому я получаю сообщение об ошибке проверки. Однако, если я попытаюсь щелкнуть по одному из двух моих изменений даты и времени, я получу ошибку «слишком много рекурсии» или stackoverflow . Это происходит в FF, а также IE8. Ошибка в используемом мной файле jquery-ui-datetimepicker-addon.js
, который я получил от http://trentrichardson.com/2010/04/19/timepicker-addon-for-jquery-ui-datepicker, по крайней мере, куда меня ведет инструмент отладки.
Если я просто использую указатель даты jquery (без компонента времени), я вообще не получу эту ошибку.
Полагаю, что в datetimepicker может быть ошибка, но, поскольку я новичок в jquery и ASP.NET MVC, есть большая вероятность, что я просто что-то не так делаю.
Есть идеи?