gpt4 book ai didi

c# - 使用 RedirectToAction 后 session 变量为空

转载 作者:行者123 更新时间:2023-11-30 22:54:41 25 4
gpt4 key购买 nike

在 View Edit.cshtml 中编辑信息后,我设置了一个 session 变量 Session["ToastMessage"] = "Sucessfully"; 以在 Edit 中显示它.cshtml 之后再次加载。但是我在 View 中得到了 Session["ToastMessage"] = null

        // GET: About/Edit/
public ActionResult Edit()
{
AboutInformation about = LoadDataFromConfigFile();
return View(about);
}

// POST: About/Edit/
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "NameApp,ContactInformation,Email,Fax,Phone,ReleaseDay,LogoPathOfProduction,IsShow,LatestVersion,ReleaseNotes")] AboutInformation about,List<string> imagesToDelete, List<HttpPostedFileBase> images, bool? isShowInfo)
{
if (ModelState.IsValid)
{
//update....
}

Session["ToastMessage"] = "Sucessfully";
return RedirectToAction("Edit");
}

试图调试,它显示 Session["ToastMessage"] = null 当它刚传递给 Get 方法时:

  // GET: About/Edit/
public ActionResult Edit()
{
}

Session 以某种方式很清楚,在我的应用程序中经常使用 Session,并且运行良好。 ASP 是否只是在任何随机时间清除 session ?需要帮助!

最佳答案

对于您的情况,您可以使用 TempData 而不是 Session

TempData["ToastMessage"] = "Sucessfully";

TempData可用于存储临时数据,可在后续请求中使用。

public ActionResult Edit()
{
var result = TempData["ToastMessage"];
// check result here
AboutInformation about = LoadDataFromConfigFile();
return View(about);
}

关于c# - 使用 RedirectToAction 后 session 变量为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56052482/

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