zoukankan      html  css  js  c++  java
  • .net core 使用ViewComponent

    .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>

     三、调用上面建立的 DemoViewComponent

    @{
        ViewData["Title"] = "Home Page";
    }
    
    @await Component.InvokeAsync("Demo")
  • 相关阅读:
    idea config 文件
    python 时间相关
    python 限定类型
    windows 创建文件夹 链接
    java 笔记
    yml 字符串换行问题
    nginx 编译安装,问题
    git readme.md 文档头部写法
    git tag 相关操作
    敏捷开发
  • 原文地址:https://www.cnblogs.com/zbspace/p/11620131.html
Copyright © 2011-2022 走看看