2013-04-15 103 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。 –