我有一个ASP.NET MVC应用程序。我的应用程序正在使用T4MVC。在我的控制器中,我需要从一个动作重定向到另一个动作。当我这样做时,我想追加一个查询字符串值。我可以成功重定向而不使用查询字符串值,但我一直未能成功应用查询字符串值。我的行为是这样的:ASP.NET MVC - 将查询字符串值添加到控制器中的RedirectToAction
[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult Action1()
{
return RedirectToAction(MVC.MyController.Action2().AddRouteValue("id", "5"));
}
[Route("action-2")]
public virtual ActionResult Action2(string input)
{
ViewBag.Input = input;
return View(viewModel);
}
的Action2
当我访问./action-2
工作正常。我也可以成功发布到Action1
。但是,当重定向不起作用时。我注意到在地址栏中有以下内容:
/MyController/id
为什么?我该如何解决?我只是想重新指向Action2
,但是这次添加了查询字符串参数。我错过了什么?
为什么不只是'返回RedirectToAction(“Action2”,“MyController”,new {id = 5});'? – trashr0x