我需要通过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中的值?