zoukankan      html  css  js  c++  java
  • ViewState提交后丢失,竟然是OnInit搞的鬼

    提交后报错,断点看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;
        }
    }

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

  • 相关阅读:
    Centos7-两台Centos机器间复制文件
    Centos7-卸载自带的jdk 安装jdk8
    java网络编程_IP地址
    多线程下单例模式的实现_ThreadLocal_ReentrantLock
    线程定时调度
    线程通信
    线程同步学习一
    java线程学习2
    java线程学习1
    工单系统的设计与实现(3)
  • 原文地址:https://www.cnblogs.com/zkxp/p/6152929.html
Copyright © 2011-2022 走看看