视图组件 ViewComponent

  • 最近用了一下视图组件,还挺方便的,如果遇到公共的部分,可以抽出来,写成视图组件,方便调用 
    先上图看一下效果:比如首页的4个画红框的地方是4个模块,有些地方可能要重复用到,那么我们用视图组件就很方便。 
    开始编码步骤
第一步,先新建一个项目 

原项目中不是包含Components文件夹的,这个是我自己后加上的,创建好Web项目后,添加文件夹Components

第二步,添加视图组件类 

创建类过程中,必须要以Name+ViewComponent.cs 为规范,name是自己可以谁意写的名称,此类还必须继承ViewComponent 类,才能实现。接下来在看代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; // For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 namespace demoViewComponents.Components
{
public class OneViewComponent : ViewComponent
{
/*
如果需要构造函数的话,你就创建
*/
/// <summary>
/// 构造函数
/// </summary>
public OneViewComponent()
{ }
/// <summary>
/// 异步调用
/// </summary>
/// <returns></returns>
public async Task<IViewComponentResult> InvokeAsync()
{ return View();
} }
}

这里说明一下,之前是可以加` public IViewComponentResult Invoke() 

return View(); 
} 这个方法,但是现在好像加不了,只能用异步方法,加了会报错,请测试

第三步,添加视图页面 

必须在Shard文件夹下创建名称为Components的文件夹,再在此文件夹下创建视图组件类的前缀名称Name,如Four文件夹,一般会在此Four文件夹下创建默认的Default.cshtml 页面,如上图所示。也可自己指定名称,不过要在InvokeAsync方法中返回 return View("three"); 视图的名称,例如Three的视图组件,代码如下:


namespace demoViewComponents.Components
{
public class ThreeViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync()
{
return View("three");
}
}
}
第四步,页面加载视图组件
<div class="row">
@await Component.InvokeAsync("One") @await Component.InvokeAsync("Tow") @await Component.InvokeAsync("Three") @await Component.InvokeAsync("Four") </div>

Asp.Net core 视图组件ViewComponent的更多相关文章

  1. asp.net core视图组件(ViewComponent)简单使用

    一.组成: 一个视图组件包括两个部分,派生自ViewComponent的类及其返回结果.类似控制器. 定义一个视图组件,如控制器一样,必须是公开,非嵌套,非抽象的类.一般,视图组件名称为类名去掉&qu ...

  2. [转]asp.net core视图组件(ViewComponent)简单使用

    本文转自:http://www.cnblogs.com/dralee/p/6170496.html 一.组成: 一个视图组件包括两个部分,派生自ViewComponent的类及其返回结果.类似控制器. ...

  3. 笔记: ASP.NET Core视图组件

    视图组件 asp.net core mvc 提供了部分视图的新替代品:视图组件. 视图组件与分布视图的主要区别在于视图组件与控制器不相关.可使用在独立于单个控制器的场景,如:菜单导航.侧边栏.分页栏等 ...

  4. asp.net core 视图组件(转)

    介绍视图组件 视图组件是 ASP.NET Core MVC 中的新特性,与局部视图相似,但是它们更加的强大.视图组件不使用模型绑定,只取决于调用它时所提供的数据.视图组件有以下特点: 渲染一个块,而不 ...

  5. asp.net core 视图组件化

    视图组件可以通过partial view或viewcomponent实现 partialview https://docs.microsoft.com/zh-cn/aspnet/core/mvc/vi ...

  6. .Net Core使用视图组件(ViewComponent)封装表单文本框控件

    实例程序的界面效果如下图所示: 在表单中的搜索条件有姓名,学号,成绩.他们在一行中按照水平三等分排列. 在cshtml中用html实现上述表单效果的的代码如下: <form class=&quo ...

  7. ASP.NET Core 视图 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 视图 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 视图 花了几章节,终于把 ASP.NET Core MVC 中的 C 控 ...

  8. ASP.NET CORE 自定义视图组件(ViewComponent)注意事项

    *红色字体为固定命名,蓝色为一般命名规则,黄色为ASP.NET CORE 默认查找文件名 概要:1.简单ViewComponent的用法 2.ViewComponent控制器返回值  3.注意事项 1 ...

  9. Asp.Net Core 视图整理(一)

    一.部分视图的使用 注:1.目前在Asp.Net Core2.0中对于部分视图的支持主要使用 Html.Partial()/Html.PartialAsync(); Html.RenderPartia ...

随机推荐

  1. Elasticsearch系列(4):基本搜索

    空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索 ,它简单地返回集群中所有索引下的所有文档,如下命令: GET /_search 返回如下结果: 查询结果解释: 1,hits 返回结果中最重 ...

  2. installation failed with message INSTALL_FAILED_INSUFFICIENT_STORG

    在安装APK的时候有时候会出现这种错误,原因是卸载之前的APK不彻底,有残余,手动删除android目录下相关的文件.

  3. C#开发WEBService服务 C++开发客户端调用WEBService服务

    编写WEBService服务端应用程序并部署 http://blog.csdn.net/u011835515/article/details/47615425 编写调用WEBService的C++客户 ...

  4. 通过apt-get安装JDK8

    安装python-software-properties $sudo apt-get install python-software-properties $sudo apt-get install ...

  5. 关于clone(java.lang.Object)重写

    1. 需要实现接口java.lang.Cloneable 2. 重写java.lang.Object的clone 3. clone访问权限扩大为public 4. 不实现(java.lang.Clon ...

  6. Task.Wait and “Inlining”

    “What does Task.Wait do?” Simple question, right? At a high-level, yes, the method achieves what its ...

  7. dynalist 配额

    2018-8-29 dynalist 配额 提示有一个G的配额 就是使用的流量用光了.仅有1个G

  8. C++面向对象程序设计之C++的初步知识

    本节内容为学习谭浩强老师编写的<C++面向对象程序设计>的第1章  C++的初步知识  后的个人总结. 在正文开始之前,首先声明,我是Python程序员. 1.2.最简单的C++程序 例1 ...

  9. redis.clients.jedis.exceptions.JedisDataException: ERR invalid DB index

    添加redis配置文件, 启动后,调用报错  redis.clients.jedis.exceptions.JedisDataException: ERR invalid DB index ERR i ...

  10. Nginx Mac笔记

    安装 brew install nginx 可能出现问题: Error: /usr/local is not writable. You should change the ownership and ...