0

我正在使用ASP.NET MVC 4.

我有一个名为 的控制器和两个名为and的Server操作方法。我有以下路线配置:SearchComponent

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

我正在寻找类似于以下内容的网址:

/Server/12345/Component

我的搜索操作方法:

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

我的组件操作方法:

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

生成的网址是:

/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 回答