【发布时间】:2021-04-09 17:36:12
【问题描述】:
在我的控制器中,我将模型传递给查看
public IActionResult Forgotpassword()
{
System.Web.HttpContext.Current.Session["sessionString"] = "sample";
Forgotpasswordinfo Vmodel = new Forgotpasswordinfo();
return View(Vmodel);
}
我使用System.Web.HttpContext.Current.Session["sessionString"] = "sample"; 来创建一个会话变量,但它显示一个错误,说 HttpContext 不存在!?我错过了什么?
【问题讨论】:
-
在我看来如何访问它?我正在尝试 @session["something"] 但会话不存在
-
HttpContext 在我看来不存在,这就是我在控制器中设置会话变量的问题,就像所说的那样,它现在在我看来有效,我想检查该会话变量的值
-
顺便说一句,根据您的评论,上面的代码看起来像是在
asp.net mvc(不是asp.net core)中?标记它们太令人困惑了,因为这两个框架之间的代码可能完全不同,就像在本例中使用Session一样。 -
一种更简单的方法是将新密码字段与辅助安全信息表单一起包含。所以只需提交一次,如果验证成功,您可以立即重置用户密码(一次提交,一次往返/请求)。它更简单,但可能不是一个非常漂亮的用户体验。
-
@iamaaarianme:看看Session and state management in ASP.NET Core。您应该使用
Context.Session.GetString()/Context.Session.SetString()来访问会话参数。但是,如果你在谈论ASP.NET Core,请不要使用 ASP.NET MVC 标签。
标签: c# asp.net asp.net-core session razor-pages