MVC重定向路由值而不是查询字符串

时间:2017-02-06 03:13:32

标签: c# asp.net-mvc asp.net-mvc-5 asp.net-mvc-routing query-string

我正在开发一个示例应用程序,我有一个注册和详细操作。 我想在注册新团队后重定向到详细信息视图。

我的Regsiter邮政编码如下所示;

[HttpPost]
public async Task<ActionResult> Register(TeamEditorVm teamRegisterVm)
{
    if (ModelState.IsValid)
    {
        var teamDetailVm = await Managers.TeamManager.CreateAsync(teamRegisterVm);
        return RedirectToAction("Details", new { id = teamDetailVm.Id });
    }

    return View(teamRegisterVm);
}

有没有办法强制RedirectToAction("Details", new { id = teamDetailVm.Id });使用网址的路由值,如

hxxps://test.com/team/detail/1

而不是查询字符串?

hxxps://test.com/team/detail?id=1

1 个答案:

答案 0 :(得分:1)

RedirectToAction("Details", new { id = teamDetailVm.Id });

这会将您重定向到详细信息操作,如果您的路由包含id作为默认参数,那么它会显示

hxxps://test.com/team/detail/1

而不是查询参数。我刚刚在MVC5中对它进行了测试,它对我有用。请检查您的路由。