升级项目后,jqueryui日历不会呈现

时间:2011-05-18 04:04:26

标签: asp.net asp.net-mvc-3

将我的项目从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>

现在回到原来的问题。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,它通过升级到最新版本的jquery UI和jquery来解决。

答案 1 :(得分:0)

没有更多信息,我的猜测是嵌套div的问题。浏览器的默认css可以在这里播放一部分。尝试将z-index div的datepicker设置为更高的值。