2012-11-23 36 views
0

我嘗試在我的所有頁面中運行基本的JavaScript(加載另一個html代碼之前),然後將我的js函數添加到_Layout.cshtml,但不起作用(我不怎麼操作是正確的做法)。提前致謝。如何在佈局上調用javascript mvc

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title>@ViewBag.Title</title> 
     <meta name="viewport" content="width=device-width" /> 
     <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
     @Styles.Render("~/Content/mobileCss", "~/Content/css") 
     @Scripts.Render("~/bundles/modernizr") 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       alert("Do something"); 
      }); 
     </script> 
    </head> 
    <body> 

     <div data-role="page" data-theme="b"> 
      <div data-role="content"> 
       @RenderBody() 
      </div> 
     </div> 

     @Scripts.Render("~/bundles/jquery", "~/bundles/jquerymobile") 
     @RenderSection("scripts", required: false) 
    </body> 
</html> 
+0

FYI:如果你把你的JavaScript在HTML的底部,剛剛閉幕''標籤,它會在DOM已經完全被執行之前, 。因此,使用'$ .ready()'毫無意義,過時和浪費。行! –

回答

0
@Scripts.Render("~/bundles/jquery", "~/bundles/jquerymobile") 

前必須

<script type="text/javascript"> 
     $(document).ready(function() { // JQuery not loaded here, $ is undefined 
      alert("Do something"); 
     }); 
    </script> 
+0

行!現在,我在第一個視圖中看到了一個警報,但是當我轉到另一個視圖/控制器時,不會再顯示我的警報。 – sebagiar

+0

@sebagiar相同的佈局?打開開發人員控制檯並查找任何錯誤,並檢查此頁面上的腳本(瀏覽器中的源代碼)。 – webdeveloper

+0

我錯了,現在它正在工作。 – sebagiar