ActionFilter OnActionExecuted中的ViewBag为空

时间:2012-07-05 09:38:38

标签: asp.net-mvc action-filter

我需要通过ASP.NET MVC应用程序记录用户的旅程。我正在使用全局ActionFilter和log4net。我需要能够从ViewBag中读取已在视图中设置的值(特别是ViewBag.Title)。目前,ViewBag已经空了。

public class UserActivityFilter : IActionFilter
{
    public void OnActionExecuted(ActionExecutedContext filterContext)
    {
        var properties = new Dictionary<string, string>();
        if (filterContext.Result is ViewResult)
        {
            var action = filterContext.Result as ViewResult;
            properties.Add("Page.Title", action.ViewBag.Title);
        }
        // Log4net stuff goes here
    }
}

我的观点通常采用以下形式:

@model Foo.BarViewModel
@{
    ViewBag.Title = "Application: " + Model.Name;
}

@Html.DisplayForModel()

是否可以读取视图中设置的ViewBag中的值?

0 个答案:

没有答案