2012-04-09 17 views
0

MVC3プロジェクトで作業しています。 は私がPartialViewを返すアクション「詳細」で/コントローラの「ホーム」内の別のコントローラを持ってMVC3ルーティング領域からデフォルト

 context.MapRoute(
      "Area_Details", 
      "Area/{controller}/{AreaId}/{AreaName}/{id}/{action}", 
      new { controller = "Area", action = "Index" } 
     ); 

     context.MapRoute(
      "Area_default", 
      "Area/{controller}/{action}/{id}", 
      new { action = "Index", id = UrlParameter.Optional } 
     ); 

、このようなareaRegistrationと「エリア」という名前の面積を有しています。 /ホーム/詳細情報にアクセスする必要があり、私は

@Html.RenderAction("Details","Home", new{ myId = 1}) 

にしようとしています「エリア」エリア内のビューから

?MYID = 1 が、それはMYID?アクセス/エリア/ホーム/詳細にしようとしています= 1

どうすればこの問題を解決できますか?

答えて

1

私はこれがうまくいくと思う:

Html.RenderAction("action", "controller", new { area = "" }) 
+0

あなたはこれが動作すると思いますなぜ?説明できますか? – Muctadir

+0

3番目のパラメータは追加のルート情報を受け取るので、空の文字列を指定してareaというパラメータを送信すると、MVCは要求をデフォルト領域にルーティングする必要があることを通知します。私はオーバーロードがはるかに良いことを知っています、多分MVC4がそれを含むでしょう。実際に働いたのは – jorgehmv

+0

です。ありがとう。 – Muctadir

関連する問題