2013-04-15 56 views
1

从原始URL确定控制器鉴于以下URL:http://www.domain.com/Client在ASP.NET MVC4

是有可能访问控制器,用于确定被绑定到该控制器/动作路线数据?

+0

你可以,但它完全取决于你想从哪里访问数据..控制器,授权属性,global.asax文件...? – Tommy

+0

在控制器中 - 问题已更新。 –

+0

好吧,所以我必须问...如果你是在一个控制器...你不知道你在哪个控制器?只是试图理解你试图达到的逻辑。 – Tommy

回答

2

从RouteData字典中确定控制器并传递您正在查找的密钥应该非常简单。

namespace UI.Controllers 
{ 
    [Authorize] 
    public class HomeController : Controller 
    { 
     // 
     // GET: /Home/ 

     public ActionResult Index() 
     { 
      var controllerName = RouteData.Values["controller"]; 
      //controllerName == "Home" at this point 
      var actionName = RouteData.Values["action"]; 
      //actionName == "Index" at this point   
      return View("Index"); 
     } 

    } 
} 

编辑

我已经找到关于如何做到这一点here一些信息:但是,你需要改变你的绝对URL回到相对URL之前,你可以通过提供的解决方案运行。

+0

这显示当前请求的路由。我需要查找一个URL。 –