【问题标题】:Managing a session's variable in a model class with asp.net mvc使用 asp.net mvc 管理模型类中的会话变量
【发布时间】:2013-09-16 09:30:59
【问题描述】:

我有一个 asp.net mvc4 应用程序,其中有这个 sn-p:

   public bool Logout() {
            try {
                session["user"] = null;
                return true;
            }
            catch {
                return false;
            }
                          }

当我将此代码放在控制器中时,它可以工作,但如果我将它放在模型类中,它就不行了。 问题出在session["user"] = null;

那么如何在模型类中管理会话的变量?

【问题讨论】:

    标签: asp.net session asp.net-mvc-4 razor model


    【解决方案1】:

    此功能不应在视图模型中。该模型应该用于将数据从控制器传递到视图以进行显示,并从视图接收提交的数据。

    查看What is a ViewModel in MVC 之类的问题以获得更好的解释。

    注销功能应该是控制器上的操作。比如:

    public ActionResult Logout()
    {
        Session["user"] = null;
    
        // Redirect user to homepage
        return Redirect("/");
    }
    

    【讨论】:

      【解决方案2】:

      通过当前上下文在类中访问:

      HttpContext.Current.Session["user"]....
      

      【讨论】:

        猜你喜欢
        • 2016-09-15
        • 1970-01-01
        • 2010-09-26
        • 2018-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多