2012-10-17 43 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

相关问题