您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何在ASP.NET Core 2.0中使用部分視圖來重用頁面的公共部分”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何在ASP.NET Core 2.0中使用部分視圖來重用頁面的公共部分”這篇文章吧。
新建一個(gè)空項(xiàng)目,在Startup中添加MVC服務(wù)和中間件:
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); }
添加兩個(gè)模型:
public class EmployeeViewModel { public int Id { get; set; } public string Firstname { get; set; } public string Surname { get; set; } public AddressViewModel Address { get; set; } } public class AddressViewModel { public string Line1 { get; set; } public string Line2 { get; set; } public string Line3 { get; set; } }
添加控制器,返回ViewResult并傳入模型實(shí)例:
public class HomeController : Controller { public IActionResult Index() { var model = new EmployeeViewModel { Id = 1, Firstname = "James", Surname = "Bond", Address = new AddressViewModel { Line1 = "Secret Location", Line2 = "London", Line3 = "UK" } }; return View(model); } }
添加視圖頁面Index.cshtml:
@using PartialView.Models; @model EmployeeViewModel <div > <h3>Employee Details (parent view)</h3> <p>Firstname: @Model.Firstname</p> <p>Surname: @Model.Surname</p> @Html.Partial("_Address.cshtml", Model.Address) </div>
添加部分視圖_Address.cshtml:
@using PartialView.Models @model AddressViewModel <div > <h4>Address Details (partial view)</h4> <p>Lin1: @Model.Line1</p> <p>Line2: @Model.Line2</p> <p>Line3: @Model.Line3</p> </div>
現(xiàn)在,解決方案中的目錄結(jié)構(gòu):
運(yùn)行,此時(shí)頁面顯示:
討論
部分視圖是一種渲染到其他視圖內(nèi)部的特殊視圖。對(duì)于重用視圖的部分結(jié)構(gòu)或者將一個(gè)大視圖分隔為一些小組件,這將非常有用。
部分視圖可以像正常視圖一樣被創(chuàng)建,并且可以通過控制器方法來返回ViewResult。關(guān)鍵的區(qū)別在于部分視圖渲染之前不運(yùn)行_ViewStart.cshtml,并且它通常會(huì)被渲染到其他視圖的內(nèi)部。
在視圖內(nèi)部,部分視圖通過@Html.Partial()方法來渲染,并且傳入部分視圖的名稱和一個(gè)可選的模型實(shí)例。部分視圖名稱可以是絕對(duì)或者相對(duì)路徑,視圖引擎會(huì)在當(dāng)前目錄和Shared目錄中查找相應(yīng)的部分視圖。
部分視圖能獲取父視圖ViewData數(shù)據(jù)的一個(gè)拷貝。你還可以向其中傳入模型,這通常是父視圖模型的一部分。
注:ASP.NET Core還提供了另外一種更加靈活的解決方案來重用或者分隔視圖,這種解決方案不僅可以運(yùn)行代碼,而且無需依賴父視圖。它就是視圖組件。
以上是“如何在ASP.NET Core 2.0中使用部分視圖來重用頁面的公共部分”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。