gpt4 book ai didi

asp.net - 在 ASP.NET MVC 3 View 中处理常见数据的方法

转载 作者:行者123 更新时间:2023-12-04 11:15:27 26 4
gpt4 key购买 nike

我正在为一个看似非常简单的概念而苦苦挣扎。如果我的 ViewBag 中有一个值供我的 _Layout.cshtml 使用,我该如何以及在哪里设置该值?

以下是我目前看到的最明显的(对我而言)选项:

  • 在每个 Controller 中设置值(不是 DRY)
  • 创建我自己的 Controller 基类,继承自 Controller 并在基类
  • 中设置值
  • 在 Global.asax.cs 中设置值(感觉很脏)
  • 创建一个ActionFilter来设置数据并全局注册过滤器(也感觉不对)
  • 设置_ViewStart.cshtml中的值(感觉很不对很脏)

  • 例如:

    _Layout.cshtml
    <!DOCTYPE html>
    <html>
    <head runat="server">
    <title>@ViewBag.Title</title>
    </head>
    <body>
    <div id="header">
    <h1>Welcome @ViewBag.UserName</h2>
    </div>
    <div id="content">
    @RenderBody()
    </div>
    </body>
    </html>

    如果每个 Controller 都设置了 UserName 值,那并不是非常干燥。如果我用 CodeIgniter 之类的东西来解决这个问题,我只需创建自己的基本 Controller 来处理这些常见项目并按照我的快乐方式行事。 ASP.NET MVC 3 是否有更受欢迎的选项?

    最佳答案

    通用 View 模型和基本 Controller 是 IMO 的方式。使用通用 View 模型作为所有 View 模型的基类。使用基本 Controller 中的 OnActionExecuted 方法获取 View 模型(用于返回 View 的操作)并将其转换为通用 View 模型。设置当时的通用属性。

    关于asp.net - 在 ASP.NET MVC 3 View 中处理常见数据的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4867849/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com