2010-07-15 96 views
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'“

我需要这样做,以便我可以使用控制器和操作来评估用户的权限,看看他们是否可以执行他们正在尝试的操作做。

任何关于此的帮助将不胜感激。

感谢

+0

这是自定义ASP.NET MVC身份验证的错误方法。 [不要这样做。](http://blogs.teamb.com/craigstuntz/2009/09/09/38390/) – 2010-07-15 18:11:43

+0

顺便说一句,正确的做法是使用ASP.NET成员资格和角色提供者与' AuthorizeAttribute'。这在我的链接中有更详细的解释。 – 2010-07-15 18:13:14

回答

相关问题