如何在ASP.NETCore2.0中使用部分視圖來重用頁面的公共部分-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“如何在ASP.NET Core 2.0中使用部分視圖來重用頁面的公共部分”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何在ASP.NET Core 2.0中使用部分視圖來重用頁面的公共部分”這篇文章吧。

目前創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、恩陽網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

新建一個(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):

如何在ASP.NET Core 2.0中使用部分視圖來重用頁面的公共部分

運(yùn)行,此時(shí)頁面顯示:

 如何在ASP.NET Core 2.0中使用部分視圖來重用頁面的公共部分

討論

部分視圖是一種渲染到其他視圖內(nèi)部的特殊視圖。對于重用視圖的部分結(jié)構(gòu)或者將一個(gè)大視圖分隔為一些小組件,這將非常有用。

部分視圖可以像正常視圖一樣被創(chuàng)建,并且可以通過控制器方法來返回ViewResult。關(guān)鍵的區(qū)別在于部分視圖渲染之前不運(yùn)行_ViewStart.cshtml,并且它通常會被渲染到其他視圖的內(nèi)部。

在視圖內(nèi)部,部分視圖通過@Html.Partial()方法來渲染,并且傳入部分視圖的名稱和一個(gè)可選的模型實(shí)例。部分視圖名稱可以是絕對或者相對路徑,視圖引擎會在當(dāng)前目錄和Shared目錄中查找相應(yīng)的部分視圖。

部分視圖能獲取父視圖ViewData數(shù)據(jù)的一個(gè)拷貝。你還可以向其中傳入模型,這通常是父視圖模型的一部分。

注:ASP.NET Core還提供了另外一種更加靈活的解決方案來重用或者分隔視圖,這種解決方案不僅可以運(yùn)行代碼,而且無需依賴父視圖。它就是視圖組件。

以上是“如何在ASP.NET Core 2.0中使用部分視圖來重用頁面的公共部分”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

標(biāo)題名稱:如何在ASP.NETCore2.0中使用部分視圖來重用頁面的公共部分-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://muchs.cn/article20/ddddjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、建站公司、營銷型網(wǎng)站建設(shè)網(wǎng)站改版、網(wǎng)站營銷網(wǎng)站設(shè)計(jì)

廣告

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

成都定制網(wǎng)站建設(shè)