gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 中的 ActionFilter 或 RenderAction?

转载 作者:行者123 更新时间:2023-12-01 04:16:14 25 4
gpt4 key购买 nike

我正在处理具有多个操作方法的 ASP.NET MVC Controller ,所有这些方法都需要相同的数据位。这个数据需要一个只能用路由值来完成的查找(所以,我不能在构造函数中进行查找)。我相信这已经被详细讨论过,但我还没有找到令人满意的建议。

在不重复每个操作方法的情况下获取这些数据的最佳方法是什么?我正在处理:

  • 创建一个 Action 过滤器,这似乎是最好的选择,但是我在哪里存储对象,在 Action 参数中?在 Action 过滤器中创建一个 ViewModel 对象并将其直接传递给 Action 方法,让它们填充 ViewModel 对象的其余部分是否合适?
  • 创建一个子 Action (Html.RenderAction) 来呈现此数据,但这需要第二组查找,因为子 Action 需要另一个完整的 Controller 实例化周期。
  • 在每个操作方法中调用的辅助方法/属性。

  • 关于这里最佳方法的想法或意见?

    最佳答案

    过滤器可能是您最好的选择,您可以将对象存储在 ViewData 中。

    另一种选择(不是更好的选择)是创建您自己的 Controller 基类,该基类覆盖 ExecuteCore 方法并在那里进行查找。

    我这样做是为了记录,因为我想记录每个页面 View ,而且我不想为我制作的每个 Controller 添加过滤器。在 mvc 3 中将有一种方法可以声明全局过滤器,它也可以解决这个问题。

    关于asp.net-mvc - ASP.NET MVC 中的 ActionFilter 或 RenderAction?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3603998/

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