我定义了一个自定义控件,继承自WebControl
我想保存 控件的一些属性,比如宽,高,innerText等,
搜了好多资料不得吃呀,请高手支个招

解决方案 »

  1.   

    [Category("Appearance"),  NotifyParentProperty(true), Description("数据源")] 
      public DataTable DataBindDataSource 
      { 
       get 
       { 
        return (DataTable)ViewState["DataBindDataSource"]; 
       } 
       set 
       { 
        ViewState["DataBindDataSource"] = value; 
       } 
      

  2.   

    可是我的一些属性是在客户端修改的耶比如在JS里面改变了 Height属性,那么在服务器端怎么读取该属性
      

  3.   

    服务器控件只在服务器上存在,其属性只有在服务器上才能理解。例如上面的DataBindDataSource 既可能输出到客户端(__ViewState隐藏域)也可能根本不输出(例如放在Session里),设计上根本不是给客户端使用的。控件仅仅在“释放”前翻译为html字符流输出到客户端,至于客户端干了什么,根本不关心。如果你确实想在ui界面上输点什么值,使用普通的控件来实现,而不是使用控件的属性。
      

  4.   

    用隐藏域是一个比较合适的方法,因为你是与脚本做交互.
    ViewState无法用.
      

  5.   

    难道用户获得一个属性还要用写脚本??
    ——————————————————————————————————————————
    你不是在写控件呢嘛。你要求用户写的任何东西,都可以封装在控件里,用户仅需要拖拉鼠标。
    至于说你说的TextBox控件,它使用ViewState来保存,例如你就无法在javascript中简单地修改TextMode属性的值。可以用页面的片段缓存来实现,具体用法,到网上搜一下
    ——————————————————————————————————————————
    根据问题无关,我猜是发错了帖子了。