是否可以强制WebControl呈现为<div>而不是<span>?

Yat*_*rix 4 html asp.net custom-server-controls .net-3.5

我如何强制WebControl渲染为<div>?目前,它呈现为一个<span>,我们的UI人更喜欢它<div>.为了容纳他,我想看看这是否可能,如果是的话,我怎么可能.

Joe*_*zek 7

您可以覆盖WebControl的RenderBeginTag方法:

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

还有一个可以覆盖的RenderEndTag,在这种情况下可能不需要:

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