技术咨询专线

137-9839-1694

ASP.NET就不用介级了,MVC3是指模型-视图-控制器 (MVC) 模式,是一项将 Web 应用程序组件分开的体系结构设计原则。通过分开组件,您可以更好地控制应用程序的单个部件,从而能够更加轻松地开发、修改和测试这些部件。Razor是MVC3新引入的一种模板引擎,是一个干净的、轻量级的、简单实用的视图引擎。实现二级列表循环的话,不管是官方文档,还是书本比

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" 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" 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实现。

标签
ABOUT THE AUTHOR 锐客网内容组 · 小锐

十年一线建站与运维经验,写我们真正在项目里踩过的坑:怎么选型、怎么控成本、上线后怎么养。

聊聊你的项目

获取建站方案评估

想搭建或改版网站,却不确定做哪种站、大概多少钱、要多久?留下行业与需求,我们给出方案规划与报价参考。