ASP.NET4.0+MVC3+Razor如何實(shí)現(xiàn)二級(jí)列表循環(huán)

2023-03-21    分類: 網(wǎng)站建設(shè)

ASP.NET就不用介級(jí)了,MVC3是指模型-視圖-控制器 (MVC) 模式,是一項(xiàng)將 Web 應(yīng)用程序組件分開(kāi)的體系結(jié)構(gòu)設(shè)計(jì)原則。通過(guò)分開(kāi)組件,您可以更好地控制應(yīng)用程序的單個(gè)部件,從而能夠更加輕松地開(kāi)發(fā)、修改和測(cè)試這些部件。
Razor是MVC3新引入的一種模板引擎,是一個(gè)干凈的、輕量級(jí)的、簡(jiǎn)單實(shí)用的視圖引擎。
實(shí)現(xiàn)二級(jí)列表循環(huán)的話,不管是官方文檔,還是書(shū)本比較少提到,這里創(chuàng)新互聯(lián)通過(guò)示例來(lái)演示解決這個(gè)問(wèn)題。
第一步,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é),通過(guò)Model類建一個(gè)IEnumerable子類型 public IEnumerable<AdminPurview> sub { get; set; },然后通過(guò)嵌套foreach實(shí)現(xiàn)。

網(wǎng)站題目:ASP.NET4.0+MVC3+Razor如何實(shí)現(xiàn)二級(jí)列表循環(huán)
文章路徑:http://www.bm7419.com/news37/246187.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、電子商務(wù)、定制開(kāi)發(fā)網(wǎng)站維護(hù)、虛擬主機(jī)、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)