2016-09-22 9 views
-1

私はMVCを使用しています。 コントローラを呼び出すコンポーネントがいくつかあるレイアウトページがあります。このコンポーネントの1つは、アクションGetMenu(...)を呼び出すmenuです。 そして、私はそのレイアウトページを使用するページを持っています。私はこのページに他のコントローラのアクション(Index)を呼び出します。さて、アクションGetMenuから、私はのURLを取る必要がありMVCで閲覧しているページのページURL(アクションURLなし)を取得します

  1. /にHomeController/GetMenu
  2. /ServiceXXXController /インデックス

: は..だから毎回私は、少なくとも二つのアクションを呼び出します私は訪問しているページ。 MVCでは、そのページのURLを取得する方法は、私があります(/HomeController/GetMenu

を私は他のアクション(/ServiceXXXController/Index)のURLを取る必要があるが、私はRequest.Url.*を行うとき、私はメニューのURLを取得することを意味します訪問していますか?

ありがとうございます。

+1

レイアウトはどのように「GetMenu」アクションを「呼び出し」ますか?子供の行動として呼び出された場合、あなたの 'Request.Url'は間違いなく"親 "URLのままでなければなりません。 (Ajaxを使って)クライアントから 'GetMenu'を呼び出すと' Request.UrlReferrer'に頼る必要があります – haim770

+0

はい。私はAngularjsを使っています...ありがとう! – Ciccio

+1

すでにAngularを使用している場合は、AngularがサーバーにレンダリングしてReferrerヘッダーに依存する代わりに、現在のURLをテンプレートに挿入する方がはるかに賢明だと主張する人もいます。 – haim770

答えて

0

レンダリング中にメニューを取得するためのURLを渡すことができます。

関連する問題