晕啊,没人应啊. 还有  RegisterHiddenField 的参数怎么是个Name 怎么引用啊.

解决方案 »

  1.   

    try:if(!IsPostBack)
    {
    Page.RegisterHiddenField(this.ID + "_Hidden","");
    base.CreateChildControls ();
    }
      

  2.   

    估计是你不熟悉asp.net的回发处理机制,不知道这个能不能帮上你:http://search.csdn.net/expert/topic/52/5202/2003/4/25/1708018.htm
      

  3.   

    to net_lover(孟子E章) 
       放在 if(!IsPostBack) 里,第二次这个hidden字段都没了to webdiyer(陕北吴旗娃) 
       你的文章仔细研究了一下,很有用.
     我实现了 
    public virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection) 
    {
    string str=postCollection[HiddenID];
    if( str!=null && str.Trim() != "" )
    { }
    return false;
    }此处str 可以取得回发的值,但我要如何做才可以使这个值保持住呢.第二次交互后Hidden的值又为空.
      

  4.   

    一种方法取得值
    request(this.ID + "_Hidden")
      

  5.   

    这个应该在PreRender时做.
    不要用ID,应该用UniqueID
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
        Page.RegisterHiddenField(UniqueID,str);
    }
    当然,直接把hidden Render出来是最好的.
    如果要页面回发时,获取hidden的值,
    最好还是实现IPostBackDataHandler
    如果用Request.Form,那么判断是用当前值还是用Form值是很麻烦的。
      

  6.   

    定义一个string类型的全局变量,把该变量赋给HtmlHiddenField的Value属性,在上面的LoadPostData方法中让该变量的值为str即可。