ASP.NET MVC中分部視圖的應(yīng)用方法
概述:
在ASP.NET Web Form的開發(fā)經(jīng)驗中,對于User Control使用比較頻繁,可以減少重復(fù)的代碼,利于頁面模塊化,這個概念也被引入了ASP.NET MVC.即“分部視圖”。
什么是分部視圖,我們應(yīng)該什么時候應(yīng)該用?
作為一個對ASP.NET MVC 模型很熟悉的開發(fā)者,他們自然想創(chuàng)建一個內(nèi)容和代碼都可以重用的組件,在web 窗體,我們可以創(chuàng)建一個web用戶控件或web服務(wù)器控件。但是在MVC,我們應(yīng)該用分部視圖,在這個概念的角度看,對任何情景的應(yīng)用情景都應(yīng)該有用。
在應(yīng)用程序中,每一頁上都顯示這個股票行情
在應(yīng)用程序中,一個日歷控件顯示在多個頁面中
一個登錄框
用于在多個頁面上的社交網(wǎng)絡(luò)組件,如Facebook的Like按鈕。
雖然ASP.NET MVC 的分部視圖,在語法和功能這兩個不同的角度,理論上可以理解為用戶控件。WEB用戶控件在WEB窗體中使用ViewState、PostBacks, and Events 。而在MVC的分部視圖,不使用任何上述技術(shù)管理狀態(tài)。正如ASP.NET Web用戶控件做的,分部視圖,可以挖掘到你的應(yīng)用程序以及其他應(yīng)用程序組件之間的數(shù)據(jù)共享中的模型。
1、創(chuàng)建分部視圖:
在解決方案管理器中,找到Views文件夾下的Shared文件夾,右鍵添加視圖,選擇創(chuàng)建為分部視圖,如圖:
2、修改分部視圖:
<p>分部視圖中的p元素</p>
3,在其他視圖中引用分布視圖:
@Html.Partial("~/Views/Shared/IncludePart.cshtml"); <p>原視圖中的p元素</p>
效果如圖所示:
4,第二種引用方法,代碼如下:
@Html.Action("Test","Home") <p>原視圖中的p元素</p>
并且修改Home控制器中的Test動作方法,代碼如下:
public ActionResult Test() { return View("~/Views/Shared/IncludePart.cshtml"); }
運行后的效果與3中的一致。
5,可以向Action中傳遞參數(shù),代碼如下:
@Html.Action("Test", "Home", new { name = "SharpL", id = 1 }) <p>原視圖中的p元素</p>
修改分部視圖中的代碼為:
<p>我是分部視圖</p> <p>博客名為:@ViewBag.name</p> <p>博客的id為:@ViewBag.id</p>
修改Home控制器中Test動作方法的代碼如下:
public ActionResult Test(string name,int id) { ViewBag.id = id; ViewBag.name = name; return View("~/Views/Shared/IncludePart.cshtml"); }
運行后的效果如圖:
6,普通的視圖也可以作分部視圖使用
代碼如下:
@Html.Partial("~/Views/View1.cshtml")
其中View1為普通視圖如下:
<p>我是普通視圖中的p元素</p>
效果如圖所示:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- ASP.NET?Core?MVC中的視圖(Views)
- ASP.NET Core MVC學(xué)習(xí)之視圖組件(View Component)
- ASP.NET Core MVC基礎(chǔ)學(xué)習(xí)之局部視圖(Partial Views)
- 詳解使用asp.net mvc部分視圖渲染html
- ASP.NET MVC從視圖傳參到控制器的幾種形式
- asp.net core mvc權(quán)限控制:在視圖中控制操作權(quán)限
- ASP.NET MVC從控制器傳遞數(shù)據(jù)到視圖的四種方式詳解
- asp.net MVC 根據(jù)菜單樹類別不同動態(tài)加載視圖的實現(xiàn)步驟
相關(guān)文章
解析利用wsdl.exe生成webservice代理類的詳解
本篇文章是對利用wsdl.exe生成webservice代理類進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05增加asp.net應(yīng)用程序性能的20種方法(簡單有效)
增加asp.net應(yīng)用程序性能的20種方法小結(jié),需要的朋友可以參考下,對于服務(wù)器也需要一些設(shè)置。2010-01-01