MVC 使用路由值而不是查询字符串进行重定向
MVC to redirect with route values instead of query string
我正在开发一个示例应用程序,其中有一个注册和详细操作。
我想在注册新团队后重定向到详细信息视图。
我的 Regsiter post 代码如下所示;
[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 });
使用 URL 的路由值,例如
hxxps://test.com/team/detail/1
而不是查询字符串?
hxxps://test.com/team/detail?id=1
RedirectToAction("Details", new { id = teamDetailVm.Id });
这会将您重定向到“详细信息”操作,如果您的路由包含 id 作为默认参数,那么它将向您显示
hxxps://test.com/team/detail/1
而不是作为查询参数。我刚刚在 MVC5 中对其进行了测试,它对我有用。请检查您的路由。
我正在开发一个示例应用程序,其中有一个注册和详细操作。 我想在注册新团队后重定向到详细信息视图。
我的 Regsiter post 代码如下所示;
[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 });
使用 URL 的路由值,例如
hxxps://test.com/team/detail/1
而不是查询字符串?
hxxps://test.com/team/detail?id=1
RedirectToAction("Details", new { id = teamDetailVm.Id });
这会将您重定向到“详细信息”操作,如果您的路由包含 id 作为默认参数,那么它将向您显示
hxxps://test.com/team/detail/1
而不是作为查询参数。我刚刚在 MVC5 中对其进行了测试,它对我有用。请检查您的路由。