2012-10-17 59 views
4

我是新來的asp.net MVC4架構我被困在下面的東西請幫助我。如何在asp.net MVC4中包含javascript代碼查看頁面?

@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/jqueryui") 

<script type="text/javascript"> 
$(function() { 
    $("#sections").tabs(); 
    //here i am getting error that Object[object object] has not method tabs  
}); 
</script> 

<div id="sections"> 
    <ul> 
     <li><a href="#section-1">section-1 </a></li> 
     <li><a href="#section-2">section-2 </a></li> 
    </ul> 
     <div id="section-1"> 
     section-1 content............ 
     </div> 
     <div id="section-2"> 
     section-2 content............ 
     </div> 
    </div> 

在此先感謝......

回答

10

你可能已經包含了~/bundles/jquery束的兩倍。結帳您的~/Views/Shared/_Layout.cshtml文件。最後你可能有以下幾種:

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

所以jQuery包已經包含在你的頁面中。您不應該在視圖中再次包含它。您只需要~/bundles/jqueryui包:

@Scripts.Render("~/bundles/jqueryui") 

<script type="text/javascript"> 
$(function() { 
    $("#sections").tabs(); 
    //here i am getting error that Object[object object] has not method tabs  
}); 
</script> 

<div id="sections"> 
    <ul> 
     <li><a href="#section-1">section-1 </a></li> 
     <li><a href="#section-2">section-2 </a></li> 
    </ul> 
    <div id="section-1"> 
     section-1 content............ 
    </div> 
    <div id="section-2"> 
     section-2 content............ 
    </div> 
</div> 

UPDATE:

這裏有你的看法的結構是如何看起來像一個完整的例子:

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 

<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>Foo</title> 
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" /> 
</head> 
<body> 
    <div id="sections"> 
     <ul> 
      <li><a href="#section-1">section-1 </a></li> 
      <li><a href="#section-2">section-2 </a></li> 
     </ul> 
     <div id="section-1"> 
      section-1 content............ 
     </div> 
     <div id="section-2"> 
      section-2 content............ 
     </div> 
    </div> 

    @Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/jqueryui") 
    <script type="text/javascript"> 
     $("#sections").tabs(); 
    </script> 
</body> 
</html> 
+0

感謝答覆...但是當我刪除@ Scripts.Render(「〜/ bundles/jqueryui」)這行說它沒有定義$ – savy

+1

你不應該刪除'@ Scripts.Render(「〜/ bundles/jqueryui」)'行。如果'_Layout.cshtml'中已經存在'@ Scripts.Render(「〜/ bundles/jquery」)行,你應該刪除它。是這樣嗎?我已經用我的答案更新了你的觀點的外觀。 –

+0

非常感謝好友......我的問題解決了..... – savy

相關問題