因为我添加了一个 是否为空的验证控件
但这个控件网页加载的时候是默认为不显示的他的display:none
现在我的要求是在网页加载的时候去掉这个display如果在不是Add过来而是继承这个验证控件的话 我用思归老大给的protected override void AddAttributesToRender(HtmlTextWriter writer)
{
    base.AddAttributesToRender(writer);
    if (this._AlwaysShow == true)
    {
        writer.AddAttribute("style", "");
    }
}这样可以
但要是ADD过来的而不是this要怎么像上面一样给他加属性
谢谢

解决方案 »

  1.   

    名词解释先:什么叫“ADD过来”
      

  2.   

    因为验证控件在加载到网页中生成的HTML都是为如:
    <span id=req style="dispaly:none">*</span> 这样子的
    但现在我要他在加载时为
    <span id=req style="dispaly:none">*</span>就是有什么办法让我控件添加进来的验证控件在控件加载时去掉他的Display:none
      

  3.   

    <span id=req style="dispaly:none">*</span> 这样子的
    但现在我要他在加载时为
    <span id=req style="dispaly:none">*</span>
    ----------
    不是一样的?
      

  4.   

    protected override void Render(HtmlTextWriter output)
     {
           //this.ForeColor = Color.Red;
           base.Render(output);
           output.Write("<script>"+req.ClientID+"</script>");
     }我用JS来实现可以如生成的网页
    <span id="WebRev1"><span id="ctl02" style="color:Cyan;display:none;">*</span><span id="ctl03" style="color:Lime;display:none;">*</span></span><script>ctl02</script>
    可以得到那个要改变的ct102但是这样总感觉不是很完美
    要是能生成的Html为
    <span id="WebRev1"><span id="ctl02" style="color:Cyan;">*</span><span id="ctl03" style="color:Lime;display:none;">*</span></span>
    这样就完美了谢谢
      

  5.   

    output.Write("<script>"+req.ClientID+"</script>");
    -> 没测试
    output.Write("<script> document.getElementByID('"+req.ClientID+"').style.display = "none"</script>");
      

  6.   

    output.Write("<script>"+req.ClientID+"</script>");
    -> 没测试
    output.Write("<script> document.getElementByID('"+req.ClientID+"').style.display = "none"</script>");
    我现在就是这样子写的啊,显然可以但是就会出现<script> document.getElementByID('"+req.ClientID+"').style.display = "none"</script>
    这些而不能是
    直接输出<span id="WebRev1"><span id="ctl02" style="color:Cyan;">*</span><span id="ctl03" style="color:Lime;display:none;">*</span></span>