gpt4 book ai didi

asp.net-mvc-3 - 为什么在 asp.net mvc 中参数没有从一个 Controller 操作传递到另一个 Controller 操作?

转载 作者:行者123 更新时间:2023-12-02 12:52:31 24 4
gpt4 key购买 nike

我有这个方法AddSection

public ActionResult AddSection(string code, ArrayList added)
{
ArrayList list = added;
if (list == null) list = new ArrayList();
list.Add(Request["selected_section"]);
return RedirectToAction("Details", new { code = code, added = list });
}

重定向到详细信息:

public ActionResult Details(string code, ArrayList added)
{
if (added == null) added = new ArrayList();
return View(added);
}

现在,在详细信息操作中(如果它是从 AddSection 呈现的),“添加的”ArrayList 永远不应该为 null,因为它无论如何都会在 AddSection 中初始化并传递给详细信息。当我调试程序时,即使在 AddSection 之后呈现的操作,“详细信息”中“添加”的 ArrayList 也为 null。

谁能解释一下为什么吗?

最佳答案

就像 LukeP 所说,它看起来像一个重复,因为正如其他问题/答案所述,只能传递原始类型,而不是复杂类型。

要修改您的代码,您可以这样做

public ActionResult AddSection(string code, ArrayList added) {
ArrayList list = added;
if (list == null) list = new ArrayList();
list.Add(Request["selected_section"]);
TempData["ListOfValues"] = list;
return RedirectToAction("Details", new { code = code});
}

public ActionResult Details(string code) {
var added = (ArrayList)TempData["ListOfValues"];
if (added == null) added = new ArrayList();
return View(added);
}

关于asp.net-mvc-3 - 为什么在 asp.net mvc 中参数没有从一个 Controller 操作传递到另一个 Controller 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574654/

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