私はアクションが<mysite>/Home/Contact
ASP.NET MVC 3.0のURL Rewritng
がで行うことを可能にされるのと同じ結果を得るために<mysite>/Contact
を入力して
<mysite>/Home/Contact
は、私ができるようにしたいホームコントローラでの接触と呼ばれていmvc 3.0ルートまたはRouteMagic?
現在、私はそのようにこれを達成しようとしないのですが、ない運:
カスタムルート:
routes.MapRoute(
"Contact", // Route name
"Contact", // URL with parameters
new { controller = "Home", action = "Contact", id = UrlParameter.Optional } // Parameter defaults
);
RouteMagic:
var route = routes.MapRoute("new", "Contact");
routes.Redirect(r => r.MapRoute("old", "Home/Contact"))
.To(route);
更新
[OK]をカスタムルート最初に定義する必要があります。現在は(カスタムルートの場合)動作していますが、そこには新しい質問が表示されましたwhy route magic returning error
:
Server Error in '/' Application.
Value cannot be null or empty.
Parameter name: controllerName
ありがとう、私はそれについて考えていたが、少し怠惰だった。 – Joper
@ Joper - デフォルトルートは、特定のルートが最初に一致するように追加された最後のルートである必要があります。 – tvanfosson
あなたは、RouteMagicがそのような場合にエラー '値を返すことがなぜ空でも空でもないことがある理由を知っているかもしれません。 パラメータ名:controllerName ' – Joper