欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net core 使用ViewComponent

程序员文章站 2023-10-27 09:06:10
.net core 中的局部视图组件是ViewComponent,可以用于建制重复使用公共功能组件 一、新建一个类DemoViewComponent(必须以ViewComponent结尾)且继承ViewComponent 二、在View/Share目录下建立Components目录,并在此目录下建立 ......

.net core 中的局部视图组件是viewcomponent,可以用于建制重复使用公共功能组件

一、新建一个类demoviewcomponent(必须以viewcomponent结尾)且继承viewcomponent

using microsoft.aspnetcore.mvc;
using netcoreapidemo.model;
using system;
using system.collections.generic;
using system.linq;
using system.threading;
using system.threading.tasks;

namespace netcoreportal.components
{
    public class demoviewcomponent : viewcomponent
    {
        public async task<iviewcomponentresult> invokeasync()
        {
            list<tbl_page> pagelist = new list<tbl_page>();
            for (int i = 0; i < 10; i++)
            {
                pagelist.add(new tbl_page()
                {
                    page_no = i.tostring(),
                    page_name = i.tostring()
                });
            }
            return view(pagelist);//此处没有返回viewname 对应的视图文件是default.cshtml
            //return view("d", pagelist);//此处返回的viewname 是“d” 对应的视图文件是d.cshtml
        }
    }
}

 

二、在view/share目录下建立components目录,并在此目录下建立demo目录及对应default.cshtml文件  

@model ienumerable<netcoreapidemo.model.tbl_page>
<h1>demo iviewcomponentresult</h1>
<table>
    <tr>
        <th>page_no</th>
        <th>page_name</th>
    </tr>
    @foreach (var item in model)
    {
        <tr>
            <td>@item.page_no</td>
            <td>@item.page_name</td>
        </tr>
    }
</table>