我正在尝试提出将数据传递到我的 _layout.cshtml 页面的最佳模式。
我正在玩弄创建一个通用基类,所有视图特定模型都从该基类派生。这个基类会被我的 _layout.cshtml 识别,并用于填写有关用户的详细信息并在标题中加载适当的图像等。例如,这是它的一个片段。
public abstract class ViewModelBase
{
public string Username { get; set; }
public string Version { get; set; }
}
在我的 _layout.cshtml 顶部,我有...
@model MyProject.Web.Controllers.ViewModelBase
我需要一个公共区域来补充模型所需的信息,并计划使用以下模式......
- 每个动作方法都会创建和水合从 ViewModelBase 派生的模型。
- 动作完成。
- 我创建了一个 ActionFilterAttribute 并覆盖 OnActionExecuted 以将当前 Result 转换为 ViewModelBase。
- 如果转换成功,那么我会使用相关数据填充 ViewModelBase 详细信息。
这是我的问题...
- 使用 ActionFilterAttribute (OnActionExecuted) 是我想要做的一个好的模式吗?
- 我无法看到如何从 HttpActionExecutedContext 获取在操作中创建的结果。这是怎么做到的?