私はプロファイル、ページ、グループなどを実装しているソーシャルネットワーキングサイトに取り組んでいます。この段階では、プロファイルとページを扱っています。彼らはどちらも、ユーザーがいくつかのステータス、写真などを置くことができる壁を持っています。asp.net複数のURLが同じコントローラを指している
コントローラWallControllerは、2つの異なるURLでアクセスできます。
www.mysite.com/profile/121/some-user/wall
and
www.mysite.com/page/222/some-page/wall
ページの左側に、基本情報(名前など)とメニューが読み込まれます。
www.mysite.com/profile/121/some-user/photos
www.mysite.com/profile/121/some-user/videos
www.mysite.com/profile/121/some-user/songs
これは、両方(ページとプロファイル)に適用されます。
はこちらのページ
routes.MapRoute(
"Page-wall", // Route name
"page/{id}/{name}/wall", // URL with parameters
new { controller = "wall", action = "details", id = "", name = "" },
new { id = @"\d+" },
new string[] { "PagesNameSpace.Controllers" } // Parameter defaults
);
ためと
routes.MapRoute(
"profile-wall", // Route name
"profile/{id}/{name}/wall", // URL with parameters
new { controller = "wall", action = "details", id = "", name = "" },
new { id = @"\d+" },
new string[] { "ProfileNameSpace.Controllers" } // Parameter defaults
);
さて、問題は、私がURLにアクセスしているものを対象に識別しなければならないプロファイル
のための私のルートです。ここに私のWallControllerpublic class WallController : Controller
{
public ActionResult Details(long id, string name)
{
return View(LoadWallData(id));
}
}
は私が解決策として、ルート値ディクショナリを参照してください、しかし、見たいです、状況のため、この種のための最善の解決策は何ですか。
助けていただければ幸いです。
よろしく Parminderは