我想在我的“AdminLayout.cshtml”中添加jquery手风琴菜单。 当我在root中使用所有代码时,菜单确实有效,但是当我将它们添加到管理区域中的“AdminLayout.cshtml”时,它的JavaScript代码不起作用! 我的骚动是真的。 为什么呢?
jquery代码:
<script type="text/javascript">
$(document).ready(function ($) {
$('#accordion-3').dcAccordion({
eventType: 'click',
autoClose: false,
saveState: false,
disableLink: false,
showCount: false,
speed: 'slow'
});
</script>
Html代码:
<ul class="accordion" id="accordion-3">
<li><a href="#">Home</a> <ul>
<li><a href="#">Page 1</a></li>
<li><a href="#">Page 2</a></li>
<li><a href="#">Page 3</a></li>
<li><a href="#">Page 4</a></li>
</ul></li>
<li><a href="#">Products</a><ul>
<li><a href="#">Mobile Phones & Accessories</a><ul>
<li><a href="#">Product 1</a>
<ul>
<li><a href="#">Part A</a> </li>
<li><a href="#">Part B</a></li>
<li><a href="#">Part C</a></li>
<li><a href="#">Part D</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Accessories</a>
<ul>
<li><a href="#">Product 14</a></li>
<li><a href="#">Product 15</a></li>
</ul>
</li>
</ul></li>
</ul>
并使用这些文件:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="../../Scripts/jquery.cookie.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.hoverIntent.minified.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.dcjqaccordion.2.7.min.js" type="text/javascript"></script>
答案 0 :(得分:0)
我认为它是因为脚本引用URL存在错误。因此,要克服这种情况,请使用 Url.Content() 方法。它将虚拟(相对)路径转换为应用程序绝对路径。
示例:
<script src='@Url.Content("~/Scripts/jquery.cookie.js")' type="text/javascript"></script>
<script src='@Url.Content("~/Scripts/jquery.hoverIntent.minified.js")' type="text/javascript"></script>
<script src='@Url.Content("~/Scripts/jquery.dcjqaccordion.2.7.min.js")' type="text/javascript"></script>
希望这会有所帮助!!
答案 1 :(得分:0)
在ASP.NET MVC3中,您应该使用:
@Url.Content("~/path/to/file/from/root")
在脚本代码的src
属性中
答案 2 :(得分:0)
我将此行添加到我的代码中并且工作正常......
<script src="@Url.Content("/Scripts/Admin/jquery-1.8.2.min.js")"
type="text/javascript"></script>
谢谢大家......