0
我正在嘗試獲取路由中正在調用的當前控制器和操作。獲取當前控制器和發送到路由的操作
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using IProwlAdminUI.Models;
*** LINE WITH ISSUE***
string action = ViewContext.RouteData.Values["controller"].ToString() + ViewContext.RouteData.Values["action"].ToString()
*******
眼下ViewContext.RouteData是給我「的對象引用需要非靜態字段,方法或屬性:在我的Global.asax.cs我已在使用和下面一行以下'System.Web.Mvc.ControllerContext.RouteData.Get'「
我需要這樣做,以便我可以使用控制器和操作來評估用戶的權限,看看他們是否可以執行他們正在嘗試的操作做。
任何關於此的幫助將不勝感激。
感謝
這是自定義ASP.NET MVC身份驗證的錯誤方法。 [不要這樣做。](http://blogs.teamb.com/craigstuntz/2009/09/09/38390/) – 2010-07-15 18:11:43
順便說一句,正確的做法是使用ASP.NET成員資格和角色提供者與' AuthorizeAttribute'。這在我的鏈接中有更詳細的解釋。 – 2010-07-15 18:13:14