根据路由配置,Url生成未提供所需结果
本文关键字:结果 路由 配置 Url | 更新日期: 2023-09-27 18:03:58
我正在使用ASP.NET MVC 4
。
我有一个控制器叫Server
,还有两个动作方法叫Search
和Component
。我有以下路线配置:
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();
}
生成的url是:
/Server/12345/
这是错误的,它遗漏了"组件"。为什么会这样?
new { controller = "Server", action = "Component" },
由于您将默认操作设置为"组件",我认为链接生成足够智能,可以将其关闭。
您将组件定义为默认操作,那么为什么要附加它呢?如果您希望它在路由中,请将其从默认值中删除,并将其添加到RedirectToAction调用中。