我在自定义类中定义了变量viewstate在其他方法中不能读取??~~~~~~急~~~~~~~~~~~
代码如下:
public class Test:Page
{
    public String fileExtension
    {
        get
        {
            return (String)ViewState["fileExtension"];
        }
        set
        {
            ViewState["fileExtension"] = value;
        }
    }
    public void aa()
    {
       this.fileExtension = "likai";
    }
    public void show()
    {
        HttpContext.Current.Response.Write(fileExtension);
    }}先调用aa()给viewstate赋值  然后调用show()把veiwstate的值输出,但就是输不出来,获取不到值。
请大家帮忙!!!!
在别的类中实例化这个类的  也读取不了fileExtension这个属性的值。

解决方案 »

  1.   

    我也不太懂
    是不是應該是
    ViewState[ "fileExtension "]="likai "; 
    HttpContext.Current.Response.Write(ViewState["fileExtension "].ToString());
      

  2.   

    public class Test
    {
        StateBag sb=new StateBag();
        public Test()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
        public String fileExtension
        {
            get
            {
                return (String)sb["fileExtension "];
            }
            set
            {
                sb["fileExtension "] = value;
            }
        }
        public void aa(string str)
        {
            this.fileExtension = str;
        }
        public void show()
        {
            HttpContext.Current.Response.Write(fileExtension);
        } }
    测试页: public partial class _Default : System.Web.UI.Page 
    {
        Test ts = new Test();
        protected void Page_Load(object sender, EventArgs e)
        {
            ts.aa("123");
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text = ts.fileExtension;
        }
    }
      

  3.   

    public   class   Test:Page 

            public   String   fileExtension 
            { 
                    get 
                    { 
                            return   (String)ViewState[ "fileExtension "]; 
                    } 
                    set 
                    { 
                            ViewState[ "fileExtension "]   =   value; 
                    } 
            } 
            public   void   aa() 
            { 
                  this.fileExtension.set("likai "); 
            } 
            public   void   show() 
            { 
                    HttpContext.Current.Response.Write(fileExtension.get()); 
            } } 
      

  4.   

    应该是你的视图没有加到页面的视图字典里面去。
    public Test(StateBag viewState);传递过来,加上去,再传回去。