首页 > 其他 > 详细

ViewState提交后丢失,竟然是OnInit搞的鬼

时间:2016-12-10 06:44:24      阅读:204      评论:0      收藏:0      [点我收藏+]

提交后报错,断点看ViewStat值没有了。排查半天完全不知道怎么回事。

百度搜索了下ViewState提交丢失。然后CSDN一个帖子说的半拉子话提点了我。

技术分享

 

然后想到我经常重写这些函数。以前怎么没遇到。然后检查代码改写后解决,虽然不知道怎么回事,但解决了。

 

原代码如下:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    if (!IsPostBack)
    {
        vOrderID = Convert.ToInt32(Request.QueryString["OrderID"]);
    }
}
protected int vOrderID
{
    get
    {
        return (ViewState["vOrderID"] == null) ? 0 : Convert.ToInt32(ViewState["vOrderID"]);
    }
    set
    {
        ViewState["vOrderID"] = value;
    }
}

就出在第一个函数上。改成如下放到OnPreLoad就对了。

protected override void OnPreLoad(EventArgs e)
{
    base.OnPreLoad(e);
    if (!IsPostBack)
    {
        vOrderID = Convert.ToInt32(Request.QueryString["OrderID"]);
    }
}
protected int vOrderID
{
    get
    {
        return (ViewState["vOrderID"] == null) ? 0 : Convert.ToInt32(ViewState["vOrderID"]);
    }
    set
    {
        ViewState["vOrderID"] = value;
    }
}

备忘,同时希望能给大家提供帮助。

ViewState提交后丢失,竟然是OnInit搞的鬼

原文:http://www.cnblogs.com/zkxp/p/6152929.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!