.Net Core Mvc Razor 组件

这篇具有很好参考价值的文章主要介绍了.Net Core Mvc Razor 组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • 前言
  • 调用页面
    • index.cshtml
    • PartialUserViewComponent.cs
    • IUserServices.cs
    • PartialUserView.cshtml
      • 注意

前言

视图组件与分部视图类似,但它们的功能更加强大。 视图组件不使用模型绑定,它们依赖于调用视图组件时传递的数据。 本文是使用控制器和视图编写的,但视图组件适用于 Razor Pages。

视图组件:

  • 呈现一个区块而不是整个响应。
  • 包括控制器和视图间发现的相同关注点分离和可测试性优势。
  • 可以有参数和业务逻辑。
  • 通常从布局页调用。

视图组件适用于对于分部视图而言过于复杂的可重用呈现逻辑的任何位置,例如:

  • 动态导航菜单
  • 标记云,用于查询数据库
  • 登录面板
  • 购物车
  • 最近发布的文章
  • 博客上的边栏内容
  • 将在每个页面上呈现的登录面板,并显示注销或登录的链接,具体取决于用户的登录状态

视图组件由两个部分组成:

  • 类,通常派生自 ViewComponent
  • 它返回的结果,通常是视图。

与控制器一样,视图组件可以是 POCO,但大多数开发人员利用派生自 ViewComponent的方法和属性。
在考虑视图组件是否符合应用的规范时,请考虑改用 Razor 组件。 Razor 组件还将标记与 C# 代码组合来生成可重用的 UI 单元。 Razor 组件专用于让开发人员在提供客户端 UI 逻辑和组合时保持高效。 有关详细信息,请参阅 ASP.NET Core 组件。 有关如何将组件合并Razor到 MVC 或 Razor Pages 应用中的信息,请参阅预呈现和集成 ASP.NET CoreRazor组件。

参考链接。文章来源地址https://www.toymoban.com/news/detail-555072.html

调用页面

index.cshtml

<div class="container">
   @await Component.InvokeAsync("PartialView",new{a = 1, b = true})
</div>

PartialUserViewComponent.cs

using Cnpc.Com.Ioc.IBll;
using Microsoft.AspNetCore.Mvc;

namespace DotNetCore.Mvc.Demo.Compoents
{
    [ViewComponent(Name = "PartialView")]
    public class PartialUserViewComponent : ViewComponent
    {
        IUserServices _user;
        public PartialUserViewComponent(IUserServices user)
        {
            _user = user;
        }

        public async Task<IViewComponentResult> InvokeAsync(int a, bool b)
        {
            return await Task.FromResult(View("PartialUserView", _user.GetUsers()));
        }
    }
}

IUserServices.cs

  • 简单的返回一个集合用作测试

PartialUserView.cshtml

注意

  • 文件创建
    • Views -> Shared -> Components(必须这个名字) -> PartialView(与ViewComponent特性标注的名字一致) -> PartialUserView
@using Cnpc.Com.Ioc.Bean;
@model List<User>

@{
    foreach (var item in Model)
    {
        <h1>@item.ToString()</h1>
    }
}

到了这里,关于.Net Core Mvc Razor 组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ASP.NET Core Razor官方文档踩坑

    环境:ASP.NET Core 3.1 工具:VS2019 官方文档的起始页地址:教程:使用 ASP.NET Core 创建 Razor Pages Wb 应用 | Microsoft Learn 添加基架生成CRUD类时,提示报错 To scaffold controllers and views using models please install Entity Framework core packages and try again: Microsoft.EntityFrameworkCore.Design 解决方法: 安装

    2024年02月05日
    浏览(37)
  • Taurus .Net Core 微服务开源框架:Admin 插件【4-7】 - 配置管理-Mvc【Plugin-Metric 接口调用次数统计】

    继上篇:Taurus .Net Core 微服务开源框架:Admin 插件【4-6】 - 配置管理-Mvc【Plugin-Doc 接口测试及文档】 本篇继续介绍下一个内容: 配置界面如下: 打开开关时,可以通过访问Metric菜单查看统计项:   默认不统计。 如果为true,则写入硬盘。 时间单位为秒。  配置的是相对路径

    2024年02月04日
    浏览(41)
  • ASP.NET Core MVC -- 将视图添加到 ASP.NET Core MVC 应用

    右键单击“视图”文件夹,然后单击“添加”“新文件夹”,并将文件夹命名为“HelloWorld”。 右键单击“Views/HelloWorld”文件夹,然后单击“添加”“新项”。 在“添加新项 - MvcMovie”对话框中: 在右上角的搜索框中,输入“视图” 选择“Razor 视图 - 空” 保持“名称”框的

    2024年02月13日
    浏览(57)
  • ASP.NET Core MVC -- 入门

     带有 ASP.NET 和 Web 开发工作负载的Visual Studio Visual Studio Code Visual Studio Code 用于 Visual Studio Code 的 C#(最新版本) .NET 7.0 SDK  ctrl + F5 (开始执行,不调试) 在代码工作区间文件夹路径下打开终端运行下面的命令  通过运行以下命令来信任 HTTPS 开发证书: 编译运行

    2024年02月11日
    浏览(28)
  • ASP.NET Core 中的 MVC架构

    MVC架构把 App 按照逻辑分成三层: Controllers,接收 http request,配合 model,通过http response 返回 view,尽量不做别的事 Models, 负责业务逻辑,App 的状态,以及数据处理 Views,呈现 UI,如果UI 较复杂,应该使用View 组件, ViewModel, 或者 view 模板 Controller ASP.NET Core MVC 中的所有 Control

    2024年02月09日
    浏览(27)
  • .NET Core MVC基础之返回文件类型

    上一篇文章讲了基础的返回类型,这篇文章讲解如何返回文件类型给浏览器下载。 系列文章 .NET MVC基础之页面传值方式 通过图片流来返回图片 在返回文件之前,要知道MIME 类型,这里介绍常用的几种: text/plain :纯文本文件 text/html :HTML 文件 text/css :CSS 文件 application/jso

    2024年02月05日
    浏览(24)
  • ASP.NET Core MVC -- 控制器

    默认控制器访问index 特定访问路径   特定路径访问,带参数

    2024年02月12日
    浏览(34)
  • 【ASP.NET Core】MVC过滤器:运行流程

    MVC 的过滤器(Filters)也翻译为“筛选器”。但是老周更喜欢翻译为“过滤器”,意思上更好理解。 既然都叫过滤器了,就是在MVC的操作方法调用前后进行特殊处理的类型。比如: a、此调用是否已授权? b、在模型绑定之前要不要修改数据源?(可能含有儿童不宜的数据)

    2024年02月05日
    浏览(44)
  • 【ASP.NET Core】MVC过滤器:常见用法

    前面老周给大伙伴们演示了过滤器的运行流程,大伙只需要知道下面知识点即可: 1、过滤器分为授权过滤、资源访问过滤、操作方法(Action)过滤、结果过滤、异常过滤、终结点过滤。上一次咱们没有说异常过滤和终结点过滤,不过老周后面会说的。对这些过滤器,你有印

    2024年02月05日
    浏览(34)
  • ASP.NET Core MVC 使用 JWT 的示例

    创建一个 ASP.NET Core MVC 项目。 添加 NuGet 包: Microsoft.AspNetCore.Authentication.JwtBearer:用于支持 JWT 的身份验证。 System.IdentityModel.Tokens.Jwt:用于生成和验证 JWT。 在 Startup.cs 文件中做如下修改: 请注意,在上述代码中,您需要将以下参数替换为实际的值: \\\"your_issuer\\\" :发行者的标

    2024年02月13日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包