2013-03-27 60 views
1

列表,所以我仍然在ASP.net MVC设计相当新。我面临的一个小问题,这可能已经回答了,但似乎还没有找到答案,将适合我的目的。这是发生了什么:动态加载从模型MVC 4

说我有2个链接的模型:类别&项目,这是一个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. 在页面上,默认选定的类别将成为列表中的第一个。如果列表为空,则显示一个简单的“无类别”。编辑:如果类别为空,它将显示类别中没有项目。
  2. 在单击该类别的项目,它会显示在pl_values该类别的项目。

我试图让这个尽可能小,但还有很多因素需要考虑。但是,如果我能解决这个问题,我一定会弄清楚其余的。如果事情不过是不明确的,请让我知道,我可以尝试和澄清。任何帮助将不胜感激。谢谢。

回答

0

为了您的第1项,你可以尝试这样的事情(假设使用jQuery你OK):

$(document).ready(function() { 

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

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

我下来:)对不起,我mean't的名单,而非类别。因此,如果默认列表没有任何内容,则会显示一条消息。不正确的。 – Div 2013-03-27 16:49:59