![](/img/trans.png)
[英]asp.net mvc: make RedirectToAction(string, object) into RedirectToAction<Controller>(x => x.Detail(id))
[英]ASP.NET MVC - Add Query String Value to RedirectToAction in Controller
我有一个ASP.NET MVC应用程序。 我的应用程序正在使用T4MVC。 在我的控制器中,我需要从一个动作重定向到另一个动作。 当我这样做时,我想追加一个查询字符串值。 我可以在没有查询字符串值的情况下成功重定向,但是我在应用查询字符串值时失败了。 我的行为如下:
[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
。 我也可以成功POST到Action1
。 但是,当重定向不起作用时。 我在地址栏中注意到以下内容:
/MyController/id
为什么? 我该如何解决? 我只是想重定向回Action2
但这次添加了一个查询字符串参数。 我错过了什么?
您需要通过操作中的名称指定参数(在本例中为“ input
”)才能使其工作,请参见下文:
return redirectToAction(MVC.MyController.Action2().AddRouteValue("input", "5"));
或者:
return RedirectToAction("Action2", "MyController", new { input = "myInput"});
我尝试以下方式,它对我来说很好。
return RedirectToAction("Index", "CustomBuilder", new { usern = "admin" });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.