ASP.NET就不用介级了,MVC3是指模型-视图-控制器 (MVC) 模式,是一项将 Web 应用程序组件分开的体系结构设计原则。 通过分开组件,您可以更好地控制应用程序的单个部件,从而能够更加轻松地开发、修改和测试这些部件。
Razor是MVC3新引入的一种模板引擎,是一个干净的、轻量级的、简单实用的视图引擎。
实现二级列表循环的话,不管是官方文档,还是书本比较少提到,这里方维网络通过示例来演示解决这个问题。
第一步,Model类如下
namespace test.Admin.Models
{
public class AdminPurview
{
[Key]
public int purview_id { get; set; }
public string purview_name { get; set; }
public int parent_id { get; set; }
public int order_id { get; set; }
public byte is_enable { get; set; }
public IEnumerable<AdminPurview> sub { get; set; }
}
}
第二步,Controllers类如下
public ActionResult Create()
{
var purview=db.AdminPurview.Where(s => s.parent_id.Equals(0)).ToList();
foreach (var p in purview)
{
p.sub=db.AdminPurview.Where(s => s.parent_id.Equals(p.purview_id)).ToList();
}
ViewBag.purview = purview;
return View();
}
第三步,View类如下
@foreach (var p in ViewBag.purview)
{
<fieldset>
<legend>
<input type="checkbox" name="purview" id="purview@(p.purview_id)" onclick="check('purview@(p.purview_id)',this)" value="@p.purview_id" /><label for="purview@(p.purview_id)">@p.purview_name</label>
</legend>
<dl>
@foreach(var p1 in @p.sub)
{
<dd><input type="checkbox" name="purview" class="purview@(p.purview_id)" id="purview@(p1.purview_id)" onclick="check('purview',this)" value="@p1.purview_id" /><label for="purview@(p1.purview_id)" >@p.purview_name</label></dd>
}
</dl>
</fieldset>
}
方法总结,通过Model类建一个IEnumerable子类型 public IEnumerable<AdminPurview> sub { get; set; },然后通过嵌套foreach实现。