通过所有MVC4页面传递参数

时间:2013-06-07 15:06:52

标签: asp.net-mvc-4

在我的应用程序中,需要通过所有页面传递特定参数(如果存在)。

我能做到这一点的最好方法是什么? 每当我进行GET或POST申请时,都会调用一些函数,我可以在其中验证参数是否存在并保持不变?

1 个答案:

答案 0 :(得分:1)

创建一个如下所示的动作过滤器。

public sealed class ScaffoldActionFilter : ActionFilterAttribute
    {

        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
                var model = filterContext.Controller.ViewData.Model as PageModelBase;
                  // Whatever you want to do.
                model.myParam = "Im available in all views";
        }
    }

接下来注册它以在每个请求上运行。查看app_start / filterconfig.cs 而且就像这样。

filters.Add(new ScaffoldActionFilter());

现在只需从每个视图返回标准的pagebasemodel或派生类型,就可以得到你想要的内容。