ホームページ >バックエンド開発 >C#.Net チュートリアル >Asp.net MVC でコントローラーの名前を取得する方法

Asp.net MVC でコントローラーの名前を取得する方法

高洛峰
高洛峰オリジナル
2017-04-01 14:36:192035ブラウズ

1、

string controller = ViewContext.RouteData.Route.GetRouteData(this.Context).Values["controller"].ToString();
    string controller = ViewContext.RouteData.Values["controller"].ToString();

2、コントローラーアクション

string controller = RouteData.Route.GetRouteData(this.HttpContext).Values["controller"].ToString();
    string controller = RouteData.Values["controller"].ToString();

3を表示, Filter

例えば、ActionFilterAttributeでは、通常、継承したクラスを実装し、オーバーライドされたメソッドでコントローラーの名前が必要な場合は

 /// <summary>
/// 验证权限,用于检查用户是否已经登录(action执行前会先执行这里)
/// </summary>
/// <param name="filterContext"></param>
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
       string controller = filterContext.RouteData.Values["controller"].ToString();
controller = controller + "Controller";
}

をオーバーライドします。 4. public メソッド

 /// <summary>
/// 获取当前页面的Controller全名称
/// </summary>
/// <returns></returns>
public string GetCurrentController()
{
string controller = HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString();
if (!string.IsNullOrWhiteSpace(controller))
{
controller = controller + "Controller";
}
else
{
controller = "";
}
return controller;
}

内 上記は、Asp.net MVC でコントローラーの名前を取得するメソッドの内容です。その他の関連内容については、PHP 中国語 Web サイト (www.php.ん)!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。