0

を使用してASP.NET MVC 4います。

というコントローラーとServer、 と という 2 つのアクション メソッドがSearchありComponentます。次のルート構成があります。

routes.MapRoute("Component",
     "{controller}/{serverId}/{action}",
     new { controller = "Server", action = "Component" },
     new { serverId = @"\d+" });

次のような URL を探しています。

/Server/12345/Component

マイサーチアクションメソッド:

return RedirectToAction("Component", new { serverId = 12345 });

私のコンポーネントアクションメソッド:

public ActionResult Component(int serverId)
{
     return View();
}

生成される URL は次のとおりです。

/Server/12345/

それは間違っています。「コンポーネント」を省略しています。どうしてこれなの?

4

2 に答える 2

3
     new { controller = "Server", action = "Component" },

デフォルトのアクションを「コンポーネント」に設定しているため、リンク生成はオフにしておくのに十分スマートだと思います。

于 2013-03-15T10:37:08.620 に答える
1

Component を Default-Action として定義したのに、なぜ追加する必要があるのでしょうか? ルートに追加したい場合は、デフォルトから削除して RedirectToAction 呼び出しに追加してください。

于 2013-03-15T10:37:26.577 に答える