2013-07-19 65 views
0

我开始在我的mvc应用程序中包含jquery。ASP.NET MVC 3 jquery警报没有呈现

以下代码是本:

主页控制器:

namespace Tutorial.Controllers 
{ 
    public class HomeController : Controller 
    { 
     [HttpGet] // /Home/Index/ 
     public ActionResult Index() 
     { 
      ViewBag.Title = "Javascript"; 
      return View(); 
     } 

    } 

}

_layout:

<html> 
<head> 
    <title>@ViewBag.Title</title> 
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript">   </script> 
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script> 
</head> 
<body> 
    @RenderBody() 
</body> 
</html> 

查看:

Content 
<script src="@Url.Content("~/Scripts/init.js")" type="text/javascript"></script> 

init.js

$(document).ready(function() { 
    alert("Document Ready"); 
}); 

然而,当我启动它未出现警告。 我在源代码看:

的index.html

<html> 
<head> 
    <title>Javascript</title> 
    <link href="/Content/Site.css" rel="stylesheet" type="text/css" /> 
    <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script> 
    <script src="/Scripts/modernizr-1.7.min.js" type="text/javascript"></script> 
</head> 
<body> 
    Content 
    <script src="/Scripts/init.js" type="text/javascript"></script> 
</body> 
</html> 

并呈现JavaScript文件:

init.js

$(document).ready(function() { 

}); 

,你可以看到警报功能丢失。任何想法为什么它没有被拒绝? 在此先感谢。

编辑:香港专业教育学院更新了我的代码与乔的性反应,但发生

+0

请参阅开发工具错误控制台。 – SLaks

+0

@ user1487087 $被定义或未定义。在浏览器控制台中检查它。 –

+2

有一件事你应该看看 - 特别是在MVC中,你不应该有相对静态内容的引用,因为浏览器认为你在​​的路径并不总是与你认为的路径相同(想想'/'vs.'/ Home'与'/ Home/Index' vs'/ Home/Index/2'等都指向相同的视图。你可以做'',或者在MVC4中(不确定约3) ''。这将在页面呈现时适当地解析相对路径。 –

回答

2

同样的问题,你需要使这个

<script type = "text/javascript" src="../../Scripts/init.js"></script> 

jQuery的参考,并为之前你这样做就我所了解的你的代码而言。你可以使用脚本部分。

默认_Layout已经包含本节。在你的页面上,你应该有。

@section Scripts { 
    <script type = "text/javascript" src="../../Scripts/init.js"></script> 
}