大家帮忙看看    
public string strImageName;
    protected void Button1_Click(object sender, EventArgs e)
    {
        strImageName = "aa";
        
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Write(strImageName);
    }Button2_Click输出不了strImageName的值。   是不是这种技术要把值给一个hidden  然后再输出hidden的值

解决方案 »

  1.   

    代码没有错,可以输出。
    但你要知道页面的生命周期。
    你在点击2号按钮的时候。strImageName已经被重置为""空串了,所以你都输出空串
      

  2.   

    private string StrImageName
    {
        get{return ViewState["xx"] as string;}
        set{ViewState["xx"]=value;}
    }
      

  3.   


     代码中: Button1_Click事件中给 strImageName 赋值之后,
     页面刷新了。 那么在Button2_Click事件中,strImageName会重新声明并重新赋值为默认值"" 
     输出来就成了"".
      

  4.   

    但是  在winform中怎么就能输出来     郁闷中 !!!!
      

  5.   

    楼主应该看下winform和。net之间的区别,两者是不同的,当你按了button1后已经刷新了一下,所以当你按button2的时候已经置为空值,所以应该用request来传值。。
      

  6.   

    1楼说的对
    webform的编程模型与winform不同,在webform中每次刷新页面都产生一个新的页面实例,所以客户端与服务端交互用到的状态信息是需要介质保存的,比如session、viewstate、cookie以及页面控件等。
    帖子不错
    楼主可以借此了解到ASP.NET的状态机制
      

  7.   

    public static string strImageName; 
        protected void Button1_Click(object sender, EventArgs e) 
        { 
            strImageName = "aa"; 
             
        } 
        protected void Button2_Click(object sender, EventArgs e) 
        { 
            Response.Write(strImageName); 
        } 
    搞成静态的