ToB企服应用市场:ToB评测及商务社交产业平台

标题: .Net Core Mvc Razor 组件 [打印本页]

作者: 立山    时间: 2023-7-13 17:56
标题: .Net Core Mvc Razor 组件

目录

前言

视图组件与分部视图类似,但它们的功能更加强大。 视图组件不使用模型绑定,它们依赖于调用视图组件时传递的数据。 本文是使用控制器和视图编写的,但视图组件适用于 Razor Pages。
视图组件:
视图组件适用于对于分部视图而言过于复杂的可重用呈现逻辑的任何位置,例如:
视图组件由两个部分组成:
与控制器一样,视图组件可以是 POCO,但大多数开发人员利用派生自 ViewComponent的方法和属性。
在考虑视图组件是否符合应用的规范时,请考虑改用 Razor 组件。 Razor 组件还将标记与 C# 代码组合来生成可重用的 UI 单元。 Razor 组件专用于让开发人员在提供客户端 UI 逻辑和组合时保持高效。 有关详细信息,请参阅 ASP.NET Core 组件。 有关如何将组件合并Razor到 MVC 或 Razor Pages 应用中的信息,请参阅预呈现和集成 ASP.NET CoreRazor组件。
参考链接
调用页面

index.cshtml
  1.    @await Component.InvokeAsync("PartialView",new{a = 1, b = true})
复制代码
PartialUserViewComponent.cs
  1. using Cnpc.Com.Ioc.IBll;
  2. using Microsoft.AspNetCore.Mvc;
  3. namespace DotNetCore.Mvc.Demo.Compoents
  4. {
  5.     [ViewComponent(Name = "PartialView")]
  6.     public class PartialUserViewComponent : ViewComponent
  7.     {
  8.         IUserServices _user;
  9.         public PartialUserViewComponent(IUserServices user)
  10.         {
  11.             _user = user;
  12.         }
  13.         public async Task<IViewComponentResult> InvokeAsync(int a, bool b)
  14.         {
  15.             return await Task.FromResult(View("PartialUserView", _user.GetUsers()));
  16.         }
  17.     }
  18. }
复制代码
IUserServices.cs


PartialUserView.cshtml

注意


  1. @using Cnpc.Com.Ioc.Bean;
  2. @model List<User>
  3. @{
  4.     foreach (var item in Model)
  5.     {
  6.         <h1>@item.ToString()</h1>
  7.     }
  8. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4