2016-09-22 72 views
-1

我正在使用MVC。 我有一個佈局頁面,有一些組件調用控制器。其中一個部分是叫做動作GetMenu(...)的menù。 然後我有使用該佈局頁面的頁面。我到達這個頁面,調用另一個控制器的動作(Index)。 所以..每次我打電話至少兩個動作:獲取我在MVC中訪問的頁面的頁面URL(無Action Url)

  1. /HomeController中/使用getMenu
  2. /ServiceXXXController /索引

現在,從動作GetMenu,我需要的網址我正在訪問的頁面。在MVC中,這意味着我需要採取的其他行動(/ServiceXXXController/Index)的網址,但是當我做Request.Url.*我得到了菜單的網址(/HomeController/GetMenu

有一種方法來獲取頁面我的網址正在訪問?

謝謝。

+1

佈局究竟如何「調用」GetMenu動作?如果它被作爲子動作調用,你的'Request.Url'應該一直保留爲「父」Url。如果你從客戶端(使用Ajax)調用'GetMenu',那麼你將不得不依賴於'Request.UrlReferrer' – haim770

+0

是的..我正在使用Angularjs ...謝謝! – Ciccio

+1

如果您已經使用Angular,有人會爭辯說讓Angular將當前Url注入模板而不是在服務器上渲染並依賴於Referrer頭,這樣更合理。 – haim770

回答

0

您可以在呈現URL時傳遞URL以獲取菜單。