有一个类
public class TestClass
{
 public string EntityCS
 {
  get;set;
 }
}现在我在一个页面内
  public tc=new TestClass();  protected void Buttion1_Click
  { tc.EntityCS="AAAAAAAAA";}  protected void Buttion2_Click
  { this.Title=tc.EntityCS;}           //这个地方字符串为空,有什么办法可以使用tc这个对象在整个页面内有效?
先执行了Button1Click,然后再Button2Click,结果发现Titile为空

解决方案 »

  1.   

    如果没有重新刷 新或者回传的话应该是有用的,
    如果重新刷新或者回传要保值的话可以用session
    如果页面有开viewstate,你的string类型可以放在viewstate里面public string EntityCS
    {
      get{return (stirng)ViewState["cs"];}set{Viewstate["cs"]=value;}
      

  2.   

    将这个类存到ViewState里面,每次用的时候都在ViewState里面去取
    可以在load里面去放
    if(tc != null
    {
    ViewState["TC"] = tc;
    }
    else
    {
    tc = new TestClass(); 
    ViewState["TC"]=tc
    }protected void Buttion1_Click 
      { 
    TestClass tc = ViewState["TC"] as TestClass ;
    if(tc != null)
    {
    tc.EntityCS="AAAAAAAAA";
    }
    }
     后面应用也这样用
      

  3.   

    你这里可以考虑使用session或者是viewState来实现。
      

  4.   


    就是放到viewstate里,aspx页面控件能保存值也是这个原因!
      

  5.   

    To:heyu1000 
    在load里面去放
    if(tc != null )

    ViewState["TC"] = tc; 

    else 

    tc = new TestClass("");
    ViewState["TC"] = tc;
    }这样做根本不行,运行时错误提示:System.Runtime.Serialization.SerializationException: 程序集“WebApplication2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“WebApplication2.TestClass”未标记为可序列化
    To:ojekleen 
    public string EntityCS 

      get { return (string)ViewState["cs"]; }
      set { ViewState["cs"] = value; } } 

    这样做根本不能编译,错误  当前上下文中不存在名称“ViewState”............
      

  6.   

    用视图状态 保存   ViewState[""]
    或者Session[“”]保存
    还有如果是一个字符传的话 ,那你还可以   定义静态变量存储起来,然后在取
      

  7.   

    这是因为你的TestClass里面有不是值类型的数据.所以不能保存.
    所以你还是在ViewState里面保存"AAAAAAAAA" 吧.在page_Load()里面获取一下就ok了.
    Page_Load(){
    tc.EntityCS = ViewState["cs"].ToString();
    }
      

  8.   

    我的目的是:定义一个整个页面内都有效的类  TestClass类只不过是一个例子,你们以为真的只有一个字符串哈。
      

  9.   

    To:Going1981 
      从十一月份到现在,看的人挺多,知道答案的人没有
      

  10.   

    请教下怎么定义一个整个页面内都有效的类  
    To:
    如果要这样的话
    我建议建一个类库
    然后在web里面应用Dll
    在要应用的类里面
    引用namespace
      

  11.   


    public class TestClass 

    public static string EntityCS="";
    public string EntityCS 

      get;
         return EntityCS;
    set; 
        EntityCS= value;

    } 现在我在一个页面内 
      public tc=new TestClass();   protected void Buttion1_Click 
      { tc.EntityCS="AAAAAAAAA";}   protected void Buttion2_Click 
      { this.Title=tc.EntityCS;}  
    这样就没问题了.