2014/04/16

【ASP.NET MVC】取得目前Area、Controller、Action Name

在 controller 中:
ControllerContext.RouteData.DataTokens["area"]   //若沒使用則為null
ControllerContext.RouteData.Values["controller"]
ControllerContext.RouteData.Values["action"]

在View中:
ViewContext.RouteData.DataTokens["area"]   //若沒使用則為null
ViewContext.RouteData.Values["controller"]
ViewContext.RouteData.Values["action"]

在網站Application_Start事件啟動時會註冊所有的Area

Area Name和Namespaces會放在Route的DataTokens字典中

然後在將各Area下的RouteData寫回來

由此可知為什麼Area下的controller name可以取重複名稱


沒有留言:

張貼留言