После обновления моего проекта с ASP.NET MVC2 до MVC3 просто частичное представление календаря больше не отображается.Код для этого представления приведен ниже.
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<AkwiMemorial.Models.CalendarModel>" %>
<link href="../../Content/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../Scripts/jquery-1.4.1.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.ui.datepicker.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#datepicker').datepicker({
inline: true,
onSelect: function(dateText, inst) {
$('#DateStr').val(dateText);
$('form').trigger('submit'); }});
});
</script>
<% using (Html.BeginForm()) { %>
<div>
<div id="datepicker"></div>
<%= Html.HiddenFor(x => x.DateStr)%>
</div>
<% } %>
Есть идеи?TIA.
Редактировать 1:
Чтобы проверить, не является ли это проблемой с моим исходным проектом, я изменил представление Home / Index для нового проекта MVC3, как показано ниже.При выполнении я получаю сообщение об ошибке «Ошибка времени выполнения Microsoft JScript: объект не поддерживает это свойство или метод».Это использует jquery-1.5.1.min.js.
@model DateTime
@{
ViewBag.Title = "Home Page";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<script type="text/javascript">
$(document).ready(function () {
$('.date').datepicker({ dateFormat: "dd/mm/yy" });
});
</script>
@using ( Html.BeginForm())
{
@Html.TextBox("datepicker", Model.ToString("dd/MM/yyyy"), new { @class = "date" });
<input id="submit" name="submit" type="submit" value="Save" />
}
Почему это не работает?
** Правка 2: **
Получил календарь jqueryдля отображения в MVC3 с использованием следующего частичного представления:
@model DateTime
@using (Html.BeginForm())
{
<div id="datepicker">
@Html.TextBox("date", Model.ToString("dd/MM/yyyy"), new { @class = "date" })
</div>
}
<script type="text/javascript">
$(document).ready(function () {
$('#datepicker').datepicker({
inline: true,
onSelect: function (dateText, inst) {
$('#date').val(dateText);
$('form').trigger('submit');
}
});
});
</script>
Теперь вернемся к исходной проблеме.