将我的项目从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:
要查看我的原始项目是否存在问题,我在新的MVC3项目上修改了Home / Index视图,如下所示。当我执行时,我收到错误“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:**
使用以下部分视图获取要在MVC3中显示的jquery日历:
@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>
现在回到原来的问题。
答案 0 :(得分:0)
我遇到了同样的问题,它通过升级到最新版本的jquery UI和jquery来解决。
答案 1 :(得分:0)
没有更多信息,我的猜测是嵌套div
的问题。浏览器的默认css可以在这里播放一部分。尝试将z-index
div的datepicker
设置为更高的值。