我想使用国际化,因为我需要当前的viewname(而不是actionname),以便我可以相应地显示所选文化的特定视图。
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
string cultureName = Thread.CurrentThread.CurrentCulture.Name;
//String ViewNameOnly= do something to get viewName
if (string.IsNullOrEmpty(ViewNameOnly))
ViewNameOnly= filterContext.RouteData.Values["action"] + "." + cultureName;
}
答案 0 :(得分:2)
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
ViewResultBase view = filterContext.Result as ViewResultBase;
if (view != null) {
string viewName = view.ViewName;
}
}
答案 1 :(得分:1)
filterContext.Result
将包含从控制器操作返回的结果。这是ActionResult
,它是各种结果的基类。如果它是ViewResultBase
(或其派生类型之一),那么ViewName
属性将为您提供所需的内容。