【问题标题】:ASP.NET MVC 3 + jQuery is not working after MVC Tools Update?ASP.NET MVC 3 + jQuery 在 MVC 工具更新后不起作用?
【发布时间】:2011-05-01 06:19:53
【问题描述】:

我想知道在 ASP.NET MVC 上使用 jQuery 会发生什么,任何 jQuery 代码在点击方法中都不能特别工作

我正在使用 Razor 视图引擎。

有关于这个问题的通知吗?

$(document).ready(function () {
    $('.simpledialog').simpleDialog();
});

$('#button').click(function(){
    //ToDo
});

我已经添加了对话脚本和 css :

 <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
 <script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script>

但是当点击按钮时它总是会中断并且我收到一个错误:

Microsoft JScript runtime error : 
    Object doesn't support property or method 'dialog'

【问题讨论】:

  • 我们需要更多信息来帮助您,而不仅仅是“不工作”。你能添加一些代码吗?更新后的默认项目模板使用 jQuery 1.5.1 您是否引用 jquery-1.5.1.js 文件而不是旧的 jquery-1.4.2.js?
  • 我正在尝试使用模态对话框,我添加了一些片段
  • 确保simpledialog插件文件存在。

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


【解决方案1】:

如果上述解决方案不起作用并且您还使用 Telerik 控件,则应将 .jQuery(false) 添加到 Views/Shared/_Layout.cshtml 文件底部的 ScriptRegistrar 标记中。如果你不这样做,asset.axd 调用也是加载(盲目)jQuery。

【讨论】:

  • 我使用 .jQuery(false) 提出了这个解决方案
【解决方案2】:

检查您的 Scripts 文件夹包含的 jQuery,然后检查您的 Layout.cshtml,如果它引用了正确的文件。版本可能存在差异。

编辑:还要检查 MVC 应用程序根目录中的 packages.config 文件。有一个对 jQuery 包的引用。因此,您可能需要将其更正为您的实际版本,或删除该 jQuery 包。

【讨论】:

  • @Dampe,jQuery 1.5.1 版是通过 nuget 安装的,我也手动删除和添加,似乎没有任何变化。我用错误更新了帖子
  • @Angel Escobedo:我在任何地方都没有看到这个错误。你检查过packages.config吗?如果没有帮助,请将该 packages.config 文件的内容与 _Layout.cshtml 中的 html 头一起添加到您的问题中,并在 Scripts 文件夹中写下 jQuery 的版本。
  • 我也试过了,我不认为问题应该是jQuery
  • 嗯,错误消息使它更清晰;)我不知道您在该对话框中使用什么,但问题显然与对话框有关。您是否引用了正确的脚本,并且您是否尝试在具有正确选项的正确元素上使用它?
  • @Angel Escobedo:MVC 3 已经带有 jQ​​uery UI,那么为什么不使用 modal 呢?可以看demohere
【解决方案3】:

不知道它是否对任何人有帮助,但我多年来一直遇到这个问题 - 然后意识到我对包含免费日历控件的部分看法之一是引用早期版本的 jQuery 并阻止对话框工作!

【讨论】:

  • 是的,我以为我以前也遇到过。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多