6

我可能刚刚花了最后两个小时试图弄清楚这一点。

我的 MVC 应用程序引发的特定错误是:“0x800a01b6 - JavaScript 运行时错误:对象不支持属性或方法 'datepicker'”

这是我的代码:

_Layout.cshtml:

<head>

...
<script type="text/javascript" src="../../Scripts/jquery-2.0.3.js"></script>
<script type="text/javascript" src="../../Scripts/jquery-ui-1.10.3.js"></script>
</head>

视图 .cshtml

@{
    ...
    Layout = "~/Views/Shared/_Layout.cshtml";
}

...
<div>
    Change Time Span:
    <br />
    From:
    <input type="text" id="test" />
</div>

<div class="loading" id="container">@Model.LoadingMessage</div>

<script type="text/javascript">
    $(document).ready(function () {

        $('#test').datepicker();
    });

</script>

我已经查看了几个潜在的“重复”问题,但没有成功。以下是我看过的一些问题:

MVC3 razor 视图错误 Microsoft JScript 运行时错误:对象不支持属性或方法 'datepicker'` jQuery 在方法 datepicker 上给出错误“对象不支持此属性或方法” 在 MVC 4.0 中使用 datepicker 在 db 中保留日期值,抛出“对象不支持此属性或方法”

  1. 我相信我正在引用 jquery 来实现我的目标所需的一切。
  2. 该元素可以从 Jquery 读取,如果我设置它,它可以看到它的值,所以我认为我的选择器不是问题。
  3. 两个 Jquery 包都是通过 NuGet 安装的(最新的 Jquery 版本和 Jquery UI 组合库)
  4. 我已经重建/清理了 Visual Studio 解决方案(绝望地),关闭本地 IIS 主机并重置它......

我错过了什么?Intellisense 甚至检测到该方法存在,并为我提供有关放置参数的建议。

我错过了一些简单的事情吗?

4

5 回答 5

13

我发现通过注释掉 _Layout.cshtml 底部的“@Scripts.Render("~/bundles/jquery")”,我能够解决我的问题。

于 2013-10-30T19:10:18.297 回答
5
Required scripts
----------------

<link href="@Url.Content("~/Content/themes/base/jquery-ui.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.9.1.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery-ui-1.10.0.js")" type="text/javascript"></script>



<p>Date:<input type="text" id="Dob" class="datefield" /></p>



<script type="text/javascript">
        $(document).ready(function () {
            $("#Dob").datepicker({
                changeMonth: true,
                changeYear: true
            });
        });
    </script>
于 2013-12-27T12:31:26.443 回答
4

你检查过你没有引用过两次 JQuery 吗?我发现我已将它包含在我的布局和视图中。删除一个参考解决了这个问题。

于 2014-02-09T14:38:59.803 回答
2

尝试这个 :

     <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

或这个 :

     <script" src="~/Scripts/jquery-ui-1.10.3.js"></script>

而不是这个:

   <script type="text/javascript" src="../../Scripts/jquery-ui-1.10.3.js"></script>
于 2013-12-15T10:57:11.977 回答
1

我在升级到 jQuery 2 时遇到了这个问题。我被 jQuery 下载中文件夹结构的变化所吸引。jquery-ui.js 文件不再位于 ui 文件夹中,因此我的脚本标记映射不正确。

简而言之,请仔细检查您的参考资料是否正确!

于 2014-07-21T15:35:26.770 回答