【问题标题】:Classify/categorize razor pages based on common group or interface name根据常用组或接口名称对剃须刀页面进行分类/分类
【发布时间】:2021-04-10 15:34:59
【问题描述】:
@page
@inherits @IFileProcess
@using Web.Helper 
@model Web.Pages.FileProcessModel

有没有办法对剃须刀页面进行分类。例如,在上面的代码中,我让页面继承了 IFileProcess 接口。

那么我可以在一个类中获取所有继承这个接口的页面吗?

或者有没有更好的方法来指定哪个页面属于哪个类别(例如 - 管理页面、常规页面、用户页面)

然后根据分类名称获取页面名称?

【问题讨论】:

  • 请把图片转成代码sn-p
  • 通常文件夹用于对类似页面进行分组。所以管理页面位于 \admin 文件夹中。使用共享布局或剃须刀组件在不同页面之间共享内容;
  • 嗨@Abhilash Hazarika,如果我的回复有帮助,请告诉我?如果答案解决了问题,请接受 - 请参阅What should I do when someone answers my question。如果您对我的回复有任何疑问,请随时告诉我。

标签: c# asp.net-core razor razor-pages


【解决方案1】:

根据常用组或接口对剃须刀页面进行分类/分类 名字

您可以在 ASP.NET Core Razor 页面应用程序中使用区域。

Razor Pages 期望找到位于名为 Areas 的文件夹中的区域,该文件夹需要在应用程序的根目录中手动创建。 Areas 文件夹中的每个文件夹都代表一个特定区域。区域内的 Razor 页面必须放在名为 Pages 的文件夹中。例如,右键单击项目并添加具有以下文件夹名称和结构的文件夹。它将创建管理和生产区域,然后将 Index.cshtml 文件添加到每个区域:

Index.cshtml 内容如下:

@page
@model netcoreRazor.Areas.Production.Pages.IndexModel
@{
    Layout = "_Layout";
} 

<h2>Production Index page</h2>

然后,我们可以使用以下链接导航到各个区域的索引页面:

    <li class="nav-item">
        <a class="nav-link text-dark" asp-area="Adminstration" asp-page="/Index">Adminstration</a>
    </li>
    <li class="nav-item">
        <a class="nav-link text-dark" asp-area="Production" asp-page="/Index">Production</a>
    </li>

截图如下:

有关使用区域的更多详细信息,请查看以下文章:

Areas in ASP.NET Core

Working with Areas in Razor Pages

Areas In Razor Pages

【讨论】:

  • 谢谢。但我的问题是如何以编程方式获取每个区域下的区域和页面列表。
猜你喜欢
  • 2017-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 1970-01-01
相关资源
最近更新 更多