我有一个 ASP .Net MVC4 Web 应用程序。其中我有 _Layout.cshtml 的常用 html,它又加载默认的 Home/Index。一切正常。
在我的索引中,我还加载了部分视图。这也很好用。没有问题。
我正在使用以下站点的 UI 工具:
http://www.keenthemes.com/preview/index.php?theme=metronic http://www.keenthemes.com/preview/index.php?theme=metronic
问题是它似乎主要是 HTML4,并不是为开箱即用的 MVC 设计的,所以我必须稍微调整它以使其按照我想要的方式工作。 (除了非常基本的事情之外没有什么)。例如,将一部分移出到索引并使用 Renderbody() 加载它,这样实际的 html 结构就不会改变。我已经这样做了一百万次,以确保我没有遗漏任何结束标签或任何其他可能导致我的问题的东西。
到目前为止,完全没有问题。一切都按其应有的方式加载。
我继续创建第二个视图及其部分以提取站点的其他部分。像往常一样,婴儿先迈步。在提取任何其他代码之前,我只是在第一页中使用了一点“Hello World”,并在部分中使用了类似的字符串以确保其正常工作。它是。
现在,当我输入 url Home/ActionName 时,整个内容会按预期重新加载,但看起来很糟糕。我收到此错误消息:
0x800a1391 - JavaScript 运行时错误:“jQuery”未定义
下面是我的代码,它清楚地定义了它:
<!-- BEGIN CORE PLUGINS -->
<script src="assets/plugins/jquery-1.8.3.min.js" type="text/javascript"></script>
<script>
jQuery(document).ready(function ()
{
App.init(); // initlayout and core plugins
_Layout.init();
_Layout.initJQVMAP(); // init index page's custom scripts
_Layout.initCalendar(); // init index page's custom scripts
_Layout.initCharts(); // init index page's custom scripts
_Layout.initChat();
_Layout.initDashboardDaterange(); //Red date range
_Layout.initIntro(); //Pop up messages
});
</script>
当我看到该消息时,它会将我指向 jQuery(document).ready 部分。
同样,当我正常加载页面时,它工作正常。当我单独输入 Home 时,效果很好。仅当我输入 Home/AnythingElse 时,它才会给出此错误消息。即使我输入应该加载到索引文件中的 Home/ ,它也会给我这个错误消息。
jQuery 已定义,那么为什么在回发时会发生这种情况呢?
任何帮助表示赞赏。