2013-07-19 64 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> 
}