1. 程式人生 > >如何應用ASP.NET MVC中的分部視圖

如何應用ASP.NET MVC中的分部視圖

如何 重復 shtml 技術 選擇 partial viewbag body html

概述:  

在ASP.NET Web Form的開發經驗中,對於User Control使用比較頻繁,可以減少重復的代碼,利於頁面模塊化,這個概念也被引入了ASP.NET MVC.即“分部視圖”。

1、創建分部視圖:

在解決方案管理器中,找到Views文件夾下的Shared文件夾,右鍵添加視圖,選擇創建為分部視圖,如圖:

技術分享圖片

2、修改分部視圖:

1 <p>分部視圖中的p元素</p>

3,在其他視圖中引用分布視圖:

1 @Html.Partial("~/Views/Shared/IncludePart.cshtml");
2 <p>原視圖中的p元素</p>

效果如圖所示:

技術分享圖片

4,第二種引用方法,代碼如下:

1 @Html.Action("Test","Home")
2 <p>原視圖中的p元素</p>

並且修改Home控制器中的Test動作方法,代碼如下:

1         public ActionResult Test()
2         {
3             return View("~/Views/Shared/IncludePart.cshtml");
4         }

運行後的效果與3中的一致。

5,可以向Action中傳遞參數,代碼如下:

1 @Html.Action("Test", "Home", new { name = "SharpL", id = 1 })
2 <p>原視圖中的p元素</p>

修改分部視圖中的代碼為:

<p>我是分部視圖</p>
<p>博客名為:@ViewBag.name</p>
<p>博客的id為:@ViewBag.id</p>

修改Home控制器中Test動作方法的代碼如下:

1         public ActionResult Test(string name,int id)
2         {
3             ViewBag.id = id;
4             ViewBag.name = name;
5             return View("~/Views/Shared/IncludePart.cshtml");
6         }

運行後的效果如圖:

技術分享圖片

6,普通的視圖也可以作分部視圖使用

代碼如下:

@Html.Partial("~/Views/View1.cshtml")

其中View1為普通視圖如下:

1 <p>我是普通視圖中的p元素</p>

效果如圖所示:

技術分享圖片

如何應用ASP.NET MVC中的分部視圖