【问题标题】:Session variable remaining null会话变量保持为空
【发布时间】:2013-04-18 23:39:24
【问题描述】:

我有一个 MVC 项目,在其中我需要在视图之间传递一个变量。我正在尝试使用会话变量来执行此操作,但是当我尝试设置它时它保持为空。我究竟做错了什么?所有这些代码都在我的控制器中。

 public string searchQ
    {
        get { return (string)Session["searchQ"]; }
        set { Session["searchQ"] = ""; }
    }

    public ActionResult Index()
    {
        Session["InitialLoad"] = "Yes";
        return View();
    }


    [HttpPost]
    public ActionResult Index(string heatSearch)
    {
        ViewBag.SearchKey = heatSearch;
        searchQ= heatSearch;
        return View();
    }



    public ActionResult Index_Perm()
    {
        ViewBag.SearchKey = searchQ;

        return View();
    }

目标是在视图之间传递该搜索键。

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    问题出在您的属性设置器中。

    public string searchQ
    {
        get { return (string)Session["searchQ"]; }
        set { Session["searchQ"] = ""; }
    }
    

    这将始终为会话变量分配一个空字符串。

    应该是这样的:

    public string searchQ
    {
        get { return (string)Session["searchQ"]; }
        set { Session["searchQ"] = value; }
    }
    

    【讨论】:

    • 感谢您的帮助。还有一件事,当我单击链接加载页面 Index_Perm 时,searchQ 再次为空。
    • @Danger_Fox AFAIK,应该可以解决它,但这个问题提供了一些提示:stackoverflow.com/questions/10629882/…
    猜你喜欢
    • 2016-07-25
    • 1970-01-01
    • 2014-02-01
    • 2014-03-24
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    相关资源
    最近更新 更多