首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ASP.NET MVC web应用程序中全局添加特定控制器的视图数据

在ASP.NET MVC web应用程序中全局添加特定控制器的视图数据
EN

Stack Overflow用户
提问于 2011-01-06 15:30:50
回答 1查看 545关注 0票数 0

我想为特定控制器的所有视图添加一些数据。

我已经有了一些web-apps,当一个请求到达服务器时,他们会先运行。如果我做另一个东西,比如

代码语言:javascript
运行
复制
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
        {
            AddMemberLogin(); //Add the Member if he is logged in
            AddApprovalModeToViewData();
            ViewData["call3"] = //called func;
            ViewData["call2"] = //called func;
            ViewData["call1"] = //called func;
        }

如果我在控制器中这样做,我发现他们没有运行已经实现的函数。

他们有没有办法同时运行这两个函数,但是当请求到达这个控制器时,我想

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-06 15:36:02

您可以使用操作过滤器:

代码语言:javascript
运行
复制
public class MyFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        base.OnActionExecuted(filterContext);
        filterContext.Controller.ViewData["call3"] = ...
        filterContext.Controller.ViewData["call2"] = ...
        filterContext.Controller.ViewData["call1"] = ...
    }
}

然后用这个属性装饰你的控制器:

代码语言:javascript
运行
复制
[MyFilter]
public class BaseController: Controller {}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4612762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档