【问题标题】:Razor Pages - reusable components?Razor Pages - 可重复使用的组件?
【发布时间】:2018-04-03 01:26:54
【问题描述】:

是否可以为可重复使用的项目提供组件?

示例 1:每个页面上始终显示一个菜单,

  • 如果帐户活动为“业务”,则显示业务菜单项。
  • 如果帐户活动为“个人”,则显示个人菜单项。

示例 2:通知显示在每个页面上,新通知将触发通知图标旁边的红色徽章计数器。

【问题讨论】:

  • 当然。使用部分视图(并使用@Html.Action() 渲染它们)或使用HtmlHelper 扩展方法来生成您的组件(对于您的第二种情况,我假设您的意思是像 SO 收件箱或成就 - 在这种情况下您将需要使用 SignalR 或类似的框架)
  • @StephenMuecke 你的意思是@Html.Partial(...)?
  • 不,我的意思是@Html.Action()(它调用了一个返回部分的服务器方法)

标签: c# asp.net .net asp.net-mvc razor


【解决方案1】:

是的,您可以拥有可重复使用的项目,这是局部视图的好处 这可能会在主视图中受到阻碍。 但是,如果您询问是否根据用户的角色在每个页面中显示菜单,您应该执行以下操作:

  1. 为企业菜单创建局部视图,为个人菜单创建另一个视图。

  2. 在应用程序的主布局中渲染两个部分视图。

  3. 根据用户角色在剃须刀视图“布局”中添加条件以显示菜单(即,如果用户 Admin 角色显示业务菜单,则显示个人菜单)。

【讨论】:

    猜你喜欢
    • 2018-06-07
    • 2021-03-31
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    • 2019-02-26
    • 1970-01-01
    • 2020-04-11
    相关资源
    最近更新 更多