阻止包装ASP.NET服务器控件的<span>标记

Pro*_*m.X 22 asp.net servercontrols

我正在编写各种ASP.NET Server控件,我需要删除默认情况下包装我的控件的标记.我知道您可以将标记更改为其他标记(如此问题,如何更改自定义控件的渲染行为是否为跨度)但是如何防止它?

我继承自WebControl(也可以从CompositeControl继承).

我通常得到:

<span>Control output</span>
Run Code Online (Sandbox Code Playgroud)

我需要:

Control output
Run Code Online (Sandbox Code Playgroud)

我重写了RenderContents(HtmlTextWriter输出)和CreateChildControls()方法(跨越各种控件).我迫切需要使用RenderContents(HtmlTextWriter输出)方法来解决这个问题.

Cla*_*edi 39

那这个呢?

    public override void RenderBeginTag(HtmlTextWriter writer)
    {
        writer.Write("");
    }

    public override void RenderEndTag(HtmlTextWriter writer)
    {
        writer.Write("");
    }
Run Code Online (Sandbox Code Playgroud)

  • 很棒的解决方案:)我实际上对两者都使用了一个空方法,只是放了一条注释行来解释它们为什么存在.不确定这是否与你的不同,但是写一个空字符串似乎是不必要的. (3认同)