C# MVC ActionLink 在重新加载页面之前清除会话

C# MVC ActionLink clear session before reloading page

我有一个简单的表单页面,用户可以在其中填写一些数据。按 post 后,我需要所有数据保持原样,因此如果用户想要更改数据,he/she 可以。保存数据后,我将 Client 对象存储在 Session 中,每次按下“保存”按钮时,我都会检查 Session.

中是否已有用户

现在我有 @Html.ActionLink("New client", "NewUser");,当我想创建新用户时,我按下它。所以这个 link 会重新加载页面并清除 Session.

请注意,"New user" 应该重定向到 Index,但我设法让它像那样工作,但这样做不是有效的方法。

控制器代码:

public ActionResult Index()
{
    return View(_vm);
}

public ActionResult NewUser()
{
     Session["newClient"] = null;
     return RedirectToAction("Index");
}

清除 session 只能在后端完成,因此您必须采取措施清除会话,但不需要 return RedirectToAction("Index"); 而不是 return 视图

public ActionResult NewUser()
{
     Session["newClient"] = null;
     return View("Index",_vm);
}

因为您 redirecting 进入 index 创建新用户的视图