如何在ASP.NETCore2.0中使用部分视图来重用页面的公共部分-创新互联

这篇文章主要为大家展示了“如何在ASP.NET Core 2.0中使用部分视图来重用页面的公共部分”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何在ASP.NET Core 2.0中使用部分视图来重用页面的公共部分”这篇文章吧。

目前创新互联已为上千多家的企业提供了网站建设、域名、虚拟主机、网站托管、服务器租用、企业网站设计、恩阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

新建一个空项目,在Startup中添加MVC服务和中间件:

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?}");

  });

}

添加两个模型:


 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并传入模型实例:

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

 



  

Employee Details (parent view)

    

Firstname: @Model.Firstname

  

Surname: @Model.Surname

    @Html.Partial("_Address.cshtml", Model.Address)

添加部分视图_Address.cshtml:


@using PartialView.Models

@model AddressViewModel

 



  

Address Details (partial view)

    

Lin1: @Model.Line1

  

Line2: @Model.Line2

  

Line3: @Model.Line3

现在,解决方案中的目录结构:

如何在ASP.NET Core 2.0中使用部分视图来重用页面的公共部分

运行,此时页面显示:

 如何在ASP.NET Core 2.0中使用部分视图来重用页面的公共部分

讨论

部分视图是一种渲染到其他视图内部的特殊视图。对于重用视图的部分结构或者将一个大视图分隔为一些小组件,这将非常有用。

部分视图可以像正常视图一样被创建,并且可以通过控制器方法来返回ViewResult。关键的区别在于部分视图渲染之前不运行_ViewStart.cshtml,并且它通常会被渲染到其他视图的内部。

在视图内部,部分视图通过@Html.Partial()方法来渲染,并且传入部分视图的名称和一个可选的模型实例。部分视图名称可以是绝对或者相对路径,视图引擎会在当前目录和Shared目录中查找相应的部分视图。

部分视图能获取父视图ViewData数据的一个拷贝。你还可以向其中传入模型,这通常是父视图模型的一部分。

注:ASP.NET Core还提供了另外一种更加灵活的解决方案来重用或者分隔视图,这种解决方案不仅可以运行代码,而且无需依赖父视图。它就是视图组件。

以上是“如何在ASP.NET Core 2.0中使用部分视图来重用页面的公共部分”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


分享名称:如何在ASP.NETCore2.0中使用部分视图来重用页面的公共部分-创新互联
当前链接:http://myzitong.com/article/ddddjo.html

其他资讯