加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

Asp.net“全球”变量

发布时间:2020-12-15 22:28:10 所属栏目:asp.Net 来源:网络整理
导读:我正在ASP.NET中编写一个页面,并且在回发初始化循环后出现问题: 我有(类似于)以下内容: public partial class MyClass : System.Web.UI.Page{ String myString = "default"; protected void Page_Init(object o,EventArgs e) { myString = Request["passed
我正在ASP.NET中编写一个页面,并且在回发初始化循环后出现问题:

我有(类似于)以下内容:

public partial class MyClass : System.Web.UI.Page
{
    String myString = "default";

    protected void Page_Init(object o,EventArgs e)
    {
        myString = Request["passedString"];
        //note that I've tried to set the default here in Init on NULL...
    }

    protected void Page_Load(object o,EventArgs e)
    {
         if(!Postback)
         {
             //code that uses myString....
         }
         else
         {
            //more code that uses myString....
         }
    }
}

而且发生的事情是我的代码选择“passString”就好了,但由于某种原因,在回发时,它会重置为默认值 – 即使我在Page_Init代码中放置了默认值…这使我想知道发生了什么……

有帮助吗?

解决方法

响应发送到浏览器后,您的类成员变量不会生效.请尝试使用Session对象:
public partial class MyClass : System.Web.UI.Page
{    

    protected void Page_Init(object o,EventArgs e)
    {
        Session["myString"] = Request["passedString"];
        //note that I've tried to set the default here in Init on NULL...
    }

    protected void Page_Load(object o,EventArgs e)
    {
         string myString = (string) Session["myString"];

         if(!Postback)
         {
             // use myString retrieved from session here
         }
         else
         {
            //more code that uses myString....
         }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读