gpt4 book ai didi

c# - MVC 中的元组在重定向后变空

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:55 24 4
gpt4 key购买 nike

 public ActionResult test(TestModel model)
{
var list = new List<Tuple<string, int>>();
foreach(var i in model.list)
{
list.Add(new Tuple<string, int>(i.SomeString, i.SomeInt));
}
return RedirectToAction("MyAction", "MyController", new { TestList= list });
}
public ActionResult MyAction(List<Tuple<string, int>> TestList)

为什么“MyAction”得到的只是空的 TestList?

最佳答案

您可以在 ASP.NET MVC 中使用 TempData 字典来解决这个问题。我认为这对您来说是完美的,因为它在重定向之间维护数据:

public ActionResult test(TestModel model)
{
var list = new List<Tuple<string, int>>();
foreach (var i in model.list)
{
list.Add(new Tuple<string, int>(i.SomeString, i.SomeInt));
}
TempData["Tuple"] = list;
return RedirectToAction("MyAction", "MyController");
}

public ActionResult MyAction()
{
System.Diagnostics.Debugger.Break();
List<Tuple<string, int>> list = TempData["Tuple"] as List<Tuple<string, int>>;

if (list != null) { /*Do something*/}

return View();
}

即使 MyAction 在不同的 Controller 中,它也能正常工作。希望这对你有帮助。

关于c# - MVC 中的元组在重定向后变空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37674632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com