MVC基础知识

时间:2022-08-19 19:50:31

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 })