MVC4:JQueryui手风琴

时间:2013-06-24 10:00:05

标签: jquery asp.net-mvc-4 twitter-bootstrap razor

我想在我的MVC4应用程序中用jqueryui创建一个简单的手风琴,但是...它不起作用,手风琴没有显示。你能搞清楚为什么吗? 我的_Layout框架:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <meta charset="utf-8" />
        @Styles.Render("~/Content/bootstrap.min.css")
        @Styles.Render("~/Content/bootstrap-responsive.min.css")
        @Scripts.Render("~/bundles/modernizr")
        @Styles.Render("~/Content/jquery-ui-1.9.2.custom.css")
        <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery-1.7.1.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery-ui-1.8.20.js")" type="text/javascript"></script>
        <script type="text/javascript">
            $("#itemsList").accordion({ header: "h3" });
        </script>
    </head>

我的产品.cshtml视图:

@{
    ViewBag.Title = "Products";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@section scripts{
    @Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")

}

<h2>Products</h2>

<div class="container">
    <div class="row">
        <div id="itemsList" class="span3">
        @foreach (var item in Model) {
            <h3>Room @item.Key</h3>
            <div>
            @foreach (var product in item.Value) {
                <p>id : @product.product.PRODUCT_ID @Ajax.ActionLink("Details", "ProductDetails", new { id = product.product.PRODUCT_ID }, new AjaxOptions {UpdateTargetId = "itemDetails"})</p>
            }
            </div>
        }
        </div>
        <span id="itemDetails" class="span9">
        </span>
    </div>
</div>

所以我希望项目列表显示为手风琴。是不是因为twitter bootstrap css而显示那种方式? 我从官方网站上导入了jqueryui css。谢谢!

EDIT ------------------------------------ 我现在已经厌倦了在twitter bootstrap中使用崩溃类。一切都工作正常但是...当我点击手风琴标题,显示手风琴的内容,它正在做...除了页面中的移动(对应myaddress / mypage#idOfHeader)。这是我的代码:

<div class="accordion" id="accordion2">     
        @foreach (var item in Model) {
            <div class="accordion-group">
                <div class="accordion-heading">
                    <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#@item.Key">
                        Room @item.Key
                    </a>
                </div>
            @foreach (var product in item.Value) {
                <div id="@item.Key" class="accordion-body collapse in">
                    <div class="accordion-inner">
                        id : @product.product.PRODUCT_ID @Ajax.ActionLink("Details", "ProductDetails", new { id = product.product.PRODUCT_ID }, new AjaxOptions {UpdateTargetId = "itemDetails"})
                    </div>
                </div>
            }
            </div>         
        }
    </div>

它似乎生成了一个正确的网页,但手风琴播放效果不佳。有什么解释吗?

1 个答案:

答案 0 :(得分:0)

我看到的一个可能的问题是您使用的是版本为1.9.2的jquery UI css文件,但您使用的是jquery UI JS的1.8.20版本。