ASP.NET MVC アプリケーションを介してユーザーの旅をログに記録する必要があります。グローバル ActionFilter と log4net を使用しています。ViewBag.Title
ビューに設定されている ViewBag から値 (具体的には) を読み取れるようにする必要があります。現在、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 の値を読み取ることはできますか?