簡體   English   中英

ASP.NET MVC - 向Controller中的RedirectToAction添加查詢字符串值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM