1、http://www.php.cn/code/6617.html" target="_blank">視圖中
string controller = ViewContext.RouteData.Route.GetRouteData(this.Context).Values["controller"].ToString(); string controller = ViewContext.RouteData.Values["controller"].ToString();
2、控制器的action中
string controller = RouteData.Route.GetRouteData(this.HttpContext).Values["controller"].ToString(); string controller = RouteData.Values["controller"].ToString();
3、過濾器中
比如在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、公用方法中
/// <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中擷取控制器的名稱的方法的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!