当前位置: 首页 > 编程笔记 >

asp.net-core 创建一个视图组件

支淮晨
2023-03-14
本文向大家介绍asp.net-core 创建一个视图组件,包括了asp.net-core 创建一个视图组件的使用技巧和注意事项,需要的朋友参考一下

示例

视图组件封装了可重用的逻辑和视图。它们的定义是:

  • 一个ViewComponent类,其中包含用于为视图获取和准备数据以及确定要呈现的视图的逻辑。

  • 一个或多个视图

由于它们包含逻辑,因此与部分视图相比,它们更灵活,同时仍然可以促进关注点的良好分离。

一个简单的自定义视图组件定义为:

public class MyCustomViewComponent : ViewComponent
{        
    public async Task<IViewComponentResult> InvokeAsync(string param1, int param2)
    {
        //一些业务逻辑

        //渲染〜/ Views / Shared / Components / MyCustom / Default.cshtml
        return View(new MyCustomModel{ ... });
    }
}

@*View file located in ~/Views/Shared/Components/MyCustom/Default.cshtml*@
@model WebApplication1.Models.MyCustomModel
<p>Hello @Model.UserName!</p>

可以从任何视图调用它们(甚至可以通过返回来调用控制器ViewComponentResult)

@await Component.InvokeAsync("MyCustom", new {param1 = "foo", param2 = 42})
           

 类似资料:
  • 本文向大家介绍asp.net-core 登录视图组件,包括了asp.net-core 登录视图组件的使用技巧和注意事项,需要的朋友参考一下 示例 默认项目模板将创建一个局部视图_LoginPartial.cshtml,其中包含一些逻辑,用于查找用户是否已登录并查找其用户名。 由于视图组件可能更合适(因为涉及逻辑,甚至注入了2个服务),因此以下示例显示了如何将LoginPartial转换为视图组件。

  • 问题内容: 搜索后,我没有在网上或任何其他资源中找到任何东西,我想知道您是否可以通过联接另一个视图和一些其他表来形成一个视图?我猜类似的东西与Server_ref.part_notification_view是要加入的视图。 问题答案: 您当然可以在另一个视图的基础上建立一个视图: 但是您不能引用基础表中的任何内容,包括不属于视图的任何字段: 具有相同列的基础表不是问题,并且如果您在视图中包含的内

  • 本文向大家介绍asp.net-core 从命令行创建一个新项目,包括了asp.net-core 从命令行创建一个新项目的使用技巧和注意事项,需要的朋友参考一下 示例 可以ASP.NET使用dotnet命令完全从命令行创建一个新的Core项目。 dotnet new web搭建一个新的“空” Web项目。该web参数告诉dotnet工具使用ASP.NET Core Empty模板。使用dotnet

  • 本文向大家介绍浅谈ASP.NET Core 2.0 部分视图(译),包括了浅谈ASP.NET Core 2.0 部分视图(译)的使用技巧和注意事项,需要的朋友参考一下 问题 如何在ASP.NET Core 2.0中使用部分视图来重用页面的公共部分? 答案 新建一个空项目,在Startup中添加MVC服务和中间件: 添加两个模型: 添加控制器,返回ViewResult并传入模型实例: 添加视图页面I

  • 视图概述 视图作为MVC模式中的终端环节,在web编程中负责dom结构的展示。grace 使用 php作为“天然模板“,您不必再去学习枯燥无聊的模板语法,系统更不必浪费资源去完成复杂的解析工作! 视图文件创建及命名规则 视图文件命名 : 1、控制器名称_方法名称.php //此种命名系统会进行自动展示 2、视图名称.php //需要手动调用 视图文件位置 : /分组文件夹/views/对应视图文件

  • 本文向大家介绍libgdx 创建一个组件,包括了libgdx 创建一个组件的使用技巧和注意事项,需要的朋友参考一下 示例 组件只是实现Ashley组件类的实例。 组件映射提供了一种访问实体上组件的快速方法。管理组件映射的两种常用方法是在组件的类中保留静态实例,或者使类/枚举包含所有组件的所有映射器。 您无需在应用程序中多次声明组件类型的映射器。