窗体上有两个panel
,我定义了一个变量
protected string StrMM;//类型
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
  if(!IsPostBack)
{
Panel1.Visible=true;
Panel2.Visible=false;
         }
}在 Panel1 上有一个LinkButton1
点击事件:
                  Panel1.Visible=false;
Panel2.Visible=true;
StrMM="A"; 在 Panel2 上有一个LinkButton2
点击事件:response.write(StrMM);为什么StrMM的值为null  而不是"A"如何能得到"A"呢?

解决方案 »

  1.   

    因为你的Panel1.Visible=false,把A赋值给一个globe的变量
      

  2.   

    protected static string StrMM;//类型加上:static就好了
      

  3.   

    因为你每次点击按钮都会protected string StrMM
    而这时候StrMM中是没值的。
    LinkButton1上的Button点击后才赋值为"A"楼上所说  加static
      

  4.   

    首先去了解页面的生命周期。页面对象瞬间就处理完成,被释放了。同时释放的还有对象上的局部属性StrMM。在postback之后,同一个页面的一个新的实例被创建了,StrMM还是初始值。页面状态应该使用 ViewState 保存。
      

  5.   

    关于 static 关键字,我刚刚回复一个,看看:http://community.csdn.net/Expert/topic/5574/5574870.xml?temp=.7645075
      

  6.   

    胡乱写 static 其是害初学者的。