1、View中获取Control和View:
//获取控制器名称: ViewContext.RouteData.Values["controller"].ToString(); //获取Action名称: ViewContext.RouteData.Values["action"].ToString(); //获取路由参数值: ViewContext.RouteData.Values[名称].ToString(); //如:ViewContext.RouteData.Values["ID"].ToString(); 获取ID的值 //获取area名称 //在代码中: ControllerContext.RouteData.DataTokens["area"] //在View中: ViewContext.RouteData.DataTokens["area"]
2、ActionExecutingContext中获取Control和Action名称:
RouteValueDictionary currtxt = filterContext.RouteData.Values;//获取路由数据 string control = currtxt["controller"].ToString(); string action = currtxt["action"].ToString();
3、control向View页面输出HTML代码的时候,会进行二次编辑,所以如果想输出想要的html代码,需要在control输出的文字进行转换
return new HtmlString(Html_Text);
4、自定义HtmlHelp:
1>命名空间采用System.Web.Mvc
2>HtmlHelp方法类采用静态修饰符:static
3>HtmlHelp方法返回HtmlString,方法参数包含this HtmlHelper
举例代码如下:
public static class PowerDealHtml { public static HtmlString PowerNavigate(this HtmlHelper htmlHelper, string[] opeartdata) { string RContent = ""; string _selecthtml = ""; string _edithtml = ""; string _deletehtml = ""; string controlname = htmlHelper.ViewContext.RouteData.Values["controller"].ToString().ToLower(); return new HtmlString(RContent); } }
View调用:
@Html.PowerNavigate(new string[] { item.c_RoleCode, item.c_AdminCode })