私はデフォルトではC#MVCのルートを持っている:C#MVCルーティング - 複数のルート
routes.MapRoute(
"Default",
"{controller}/{action}/{id}"
new { controller = "Home", action = "Index", id = "Welcome" }
);
今、私のようなURLを取得します:
mysite.com/Home/Index/Page1
mysite.com/Home/Index/Page2
mysite.com/Home/Index/Page3
mysite.com/Account/Login
mysite.com/Account/Etc
をしかし、私は短いとの最初のセットを持っていると思います次のようなURL:
mysite.com/Page1
mysite.com/Page2
mysite.com/Page3
mysite.com/Account/Login
mysite.com/Account/Etc
私のような本当にシンプルにコードを期待:
routes.MapRoute(
"Shorturl",
"{id}",
new { controller = "Home", action = "Index", id = "Welcome" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}"
new { controller = "Home", action = "Index", id = "Welcome" }
);
しかし、それは動作しません。それは最初のルートしか取らず、2番目のルートを忘れてしまいます。 mysite.com/Page1のように1つのパラメータしかない場合、mysite.com/Account/Loginのように複数のルートがある場合に2番目のルートを取ると、プログラムを最初のルートにすることはできますか?
編集:私は行うことができます :
routes.MapRoute("Short", "short/{id}", new { controller = "Home", action = "Indx", id = "Page1" });
しかし、その後、私はURLで醜い "/ショート" を持っているでしょう。 私はそれを修正することができます:
routes.MapRoute("Page1", "Page1", new { controller = "Home", action = "Index", id = "Page1" });
しかし、その後、私はあなたがこのような何かをしようとする場合があります
http://stackoverflow.com/questions/2975642/routing-in-asp-net-mvc-2-0 – CodeCaster