动态加载模型MVC 4中的列表

时间:2013-03-27 16:36:46

标签: c# javascript html ajax asp.net-mvc

所以我在ASP.net MVC设计方面仍然很新。我正面临一个小问题,可能已经得到了回答,但似乎没有找到符合我目的的答案。以下是发生的事情:

说我有一个带有2个链接的模型:Category&项目,它是1对多关系。我想要做的是生成一个包含Category.Title的列表(我已经完成了,使用下面的代码),然后单击每个列表项将生成该类别的所有Item.Title值的列表。 html的基本思想是:

<div id="cat"><!--float = left-->
    <ul>
        <li>List<li>
    </ul>
</div>

<div id="item"> <!--float = right -->
    <ul>
        <li>List<li>
    </ul>
</div>

以下是目前为止所有内容的联系方式:

public ActionResult Equipment()
{

    ViewBag.Cat= getCat(1); // Will return a list of categories of ID 1
    return View();
}

至于观点:

@{ List<X.Models.Category> catX = ViewBag.Cat; }

BODY:

<div id="pl_categories">
    <ul id="pl_ec_ul">

        @foreach (X.Models.Category item in catX)
        {
            <li id="pl_ec_li">
                <div id="pl_ec_liItem">
                    @item.catTitle
                </div>
            </li>
        }

    </ul>
</div>

<div id="pl_values">

    <ul id="pl_ev_ul">
        <li id="pl_ev_li">
            <div id="pl_ev_liItem">
                ???
            </div>
        </li>
    </ul>

我已经看过很多例子,但它们都涉及下拉列表或什么不是。以下是我想要完成的快速清单:

  1. 在页面上,默认选择的类别将是列表中的第一个。如果list为null,则显示简单的“No Categories”。编辑:如果类别为空,则将显示“类别中没有项目”。
  2. 单击类别中的项目时,它将在pl_values下显示该类别的项目。
  3. 我试图让它尽可能小,但还有很多因素我需要考虑。但是,如果我能解决这个问题,我肯定会弄清楚剩下的。如果有些事情不明确,请告诉我,我可以尝试澄清一下。任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

对于你的第1项,你可以尝试这样的事情(假设你使用jQuery确定):

$(document).ready(function() {

    var count = $("#pl_ec_ul li").length;

    if(count <= 0) {
        $("#pl_categories").html("<p>No Categories</p>");
    }
});