有没有办法创建一个自定义 ControllerContext 来将现有的 ControllerContext 包装在 mvc 中?
这就是我想要完成的...
出于记录目的,我们需要记录控制器名称、操作名称和页面名称。我们现在从 ControllerContext 对象中获取这些值。
我创建了一个我不太感兴趣的静态类来获取日志记录类的值。
public static class ControllerContextHelper
{
public static string GetControllerName(ControllerContext context)
{
string result = String.Empty;
if (context.RouteData.Values.ContainsKey("controller"))
{
result = context.RouteData.Values["controller"].ToString();
}
return result;
}
public static string GetActionName(ControllerContext context)
{
string result = String.Empty;
if (context.RouteData.Values.ContainsKey("action"))
{
result = context.RouteData.Values["action"].ToString();
}
return result;
}
public static string GetPageName(ControllerContext context)
{
string result = String.Empty;
if (context.RouteData.Values.ContainsKey("page"))
{
result = context.RouteData.Values["page"].ToString();
}
return result;
}
}
我宁愿把这个逻辑放在 ControllorContext 对象中,所以我不需要一个“Helper”类来为我做这件事。