有这么一个类,他有一个static变量A,在用户甲进入网站,将变量A赋值为“甲值”,在其页面未解释完时,
用户乙也进入网站,请问此时变量A的值是什么?好似考试题目甘。哈哈哈。我现在遇到的一个情况可能同这个有关,希望大家多多帮忙。谢谢。

解决方案 »

  1.   

    static 应该是 全局的!
    如果a 访问会给它 附值
    那么b 也会给它副新的值啊!
      

  2.   

    静态变量,直对当前的用户管用吧,你想全站都管用,除非放到application里面去
      

  3.   

    全局只的是在一个进程中,变量会一直存在。比如说我在a.cs里有一个static变量=1,在b.cs里就可以改变并访问这个变量.用户甲访问是一个进程用户已又是一个进程所以对static变量是没有影响的
      

  4.   

    http://www.cnblogs.com/meyer/archive/2004/04/23/7409.aspx
      

  5.   

    用静态变量时当多用户使用时,回出问题的,就象你说的,甲乙的值会互相串,最好用VIEWSTATE,用法和SESSION一样
      

  6.   

    有这么一个类,他有一个static变量A,在用户甲进入网站,将变量A赋值为“甲值”,在其页面未解释完时,
    用户乙也进入网站,请问此时变量A的值是什么?好似考试题目甘。哈哈哈。我现在遇到的一个情况可能同这个有关,希望大家多多帮忙。谢谢。
    不会相互影响!
      

  7.   

    不好意思是影响的!
    代码事例:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace WebUI
    {
    /// <summary>
    /// _try 的摘要说明。
    /// </summary>
    public class _try : System.Web.UI.Page
    {
    protected System.Web.UI.HtmlControls.HtmlInputText trymy;
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.Panel Panel1;
    protected System.Web.UI.WebControls.Panel Panel2;
    protected System.Web.UI.WebControls.TextBox TextBox2;
    protected System.Web.UI.WebControls.Button Button1;
    protected static string try1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    TextBox1.Attributes.Add("value","popo");
    if(try1!=null)
       Response.Write(try1);
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.TextBox1.TextChanged += new System.EventHandler(this.TextBox1_TextChanged);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void Button1_Click(object sender, System.EventArgs e)
    {
    Response.Write("test");
    } private void TextBox1_TextChanged(object sender, System.EventArgs e)
    {
    try1 = "test"; }
    }
    }

    结果我按一下botton,另一个人出现text文字了!
      

  8.   

    static 应该是 全局的!
    如果a 访问会给它 附值
    那么b 也会给它副新的值啊!
      

  9.   

    对。我也做了实例,在winxp,win2003下测试的结果是,static与application几乎是一回事