MVC基础知识

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 })
原文地址:https://www.cnblogs.com/xibei666/p/5224061.html