http://community.csdn.net/Expert/topic/5432/5432250.xml?temp=.512768
在控件中this.Parent.Controls.Add(req);
这里出错提示:
在 DataBind、Init、Load、PreRender 或 Unload 阶段,不能修改该控件集合。我想这里是因为这里是控件而网页还没有加载完吧(我的理解)
如果用this.Controls.Add(req);
HTML就为:
<span id="WebRev1" style="color:Red;visibility:hidden;"><span id="ctl02" style="color:Red;visibility:hidden;">没有输入</span></span>
而正确的应该为
<span id="WebRev1" style="color:Red;visibility:hidden;"></span><span id="ctl02" style="color:Red;visibility:hidden;">没有输入</span>
这样才对

解决方案 »

  1.   

    this.form1.Controls.Add(req);
    这里是在做控件哪里来的form1啊
      

  2.   

    就是 我放了一个panel 然后this.panel .Controls.Add(req);
    这样成功了 但是找不到form1 如果直接this.Controls.Add(req);就显示不在runat=server里
      

  3.   

    this.form1.Controls.Add(req);
    这里是在做控件哪里来的form1啊
    这个是调用页面,在aspx中写的.
      

  4.   

    我this点不出来form1啊
    ==>
    我用的是asp2.0
    1.1是没有的.你可用placeholder或panel
      

  5.   

    protected System.Web.UI.HtmlControls.HtmlForm form1
    如果form的id 为form1的话.
      

  6.   

    谢谢 cpp2017(慕白兄)  太感谢你了
      

  7.   

    下面是写控件的:
    protected override void OnInit(EventArgs e)
    {
        RequiredFieldValidator req = new RequiredFieldValidator();
        req.ControlToValidate = this.ControlToValidate;
        req.ErrorMessage = this.NotNullMessage;        
        form1 = new HtmlForm();
        form1.Controls.Add(req);
        base.OnInit(e);
    }
    没有验证是否为空
    在HTML里面也看不到