3

我习惯了 MVC2 ...您只需将链接添加到脚本和源代码到视图,然后调用 jquery 函数和中提琴...您有工作的 Jquery 代码。但我无法让我的 jqGrid tableToGrid 函数工作。我猜是因为我根本没有正确加载 jquery 库,或者我没有在正确的位置运行脚本。你能看看我的代码,看看可能有什么问题吗?

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>ShowAllEncounters</title>
 <link href="@Url.Content("~/Content/jquery.jqGrid/ui.jqgrid.css")" rel="Stylesheet" type="text/css"/>
</head>

这将是头......我以前也有我的脚本链接在那里......但这不起作用......所以我把标签放在外面......就像这样......

</html>
<script src="@Url.Content("~/Scripts/jquery.jqGrid.min.js")" type="text/javascript"/>
<script type="text/javascript">
$(document).ready(function () {
...});

我错过了什么吗?如何在 MVC4 站点中编写 jquery 脚本?

我什至不能得到一个可怕的警报出现!!!!!!!!!!!!!

@model IEnumerable<FocusedReadMissionsRedux.Models.TemplateModel>
<!DOCTYPE html>

<html>
<head>
<script src="@Url.Content("~/Scripts/jquery.jqGrid.min.js")" type="text/javascript"/>
<link href="@Url.Content("~/Content/jquery.jqGrid/ui.jqgrid.css")" rel="Stylesheet" type="text/css"/>
   <script type="text/javascript">
       $(document).ready(function () {
        alert("what is going on");
       });
   </script>
   <title>ShowAllEncounters</title>
</head>

更新:似乎我在加载 jquery 库时遇到了问题。这肯定是个问题。我需要一个可靠的模式来将这些脚本添加到项目中吗?

4

2 回答 2

4

在“新”MVC4 模板中,jquery 脚本通过 Bundles 添加到 _layout.cshtml 的“底部”。

在 _layout.cshtml 块中移动 @Scripts.Render("~/bundles/jquery")。

我不确定为什么模板将此脚本包含在 html 文件的末尾...

于 2012-10-02T00:55:02.953 回答
0

除了帕特里斯的回答(只是为了向未来的访客澄清)。

可以在 /App_Start/BundleConfig.cs 中自定义 Bundle。

正如 NoProblemBabe 所说,带有 Javascript 内容的 Bundles 放在 html 文件的末尾,以确保在第一次访问时加载 Javascript 文件不会卡住其余的 HTML 文件加载,它将更快地将页面呈现给客户端。

由于 jQuery 启动函数放在 $(document).ready 中(在良好的编码实践中),因此没什么大不了的。另外,要记住 JS 文件的浏览器缓存。(这可能会在几乎所有浏览器中启用)。

于 2013-05-10T14:55:38.733 回答