ASP.NET就不用介級了,MVC3是指模型-視圖-控制器 (MVC) 模式,是一項將 Web 應(yīng)用程序組件分開的體系結(jié)構(gòu)設(shè)計原則。 通過分開組件,您可以更好地控制應(yīng)用程序的單個部件,從而能夠更加輕松地開發(fā)、修改和測試這些部件。
Razor是MVC3新引入的一種模板引擎,是一個干凈的、輕量級的、簡單實用的視圖引擎。
實現(xiàn)二級列表循環(huán)的話,不管是官方文檔,還是書本比較少提到,這里方維網(wǎng)絡(luò)通過示例來演示解決這個問題。
第一步,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>
}
方法總結(jié),通過Model類建一個IEnumerable子類型 public IEnumerable<AdminPurview> sub { get; set; },然后通過嵌套foreach實現(xiàn)。
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://m.oulysa.com/news/1976.html