4

如何强制WebControl渲染为<div>?目前,它呈现为 a<span>并且我们的 UI 人员更喜欢它是<div>. 为了适应他,我想看看这是否可能,如果可能,怎么可能。

4

3 回答 3

7

您可以覆盖 WebControl 的 RenderBeginTag 方法:

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

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

public override void RenderEndTag(HtmlTextWriter writer)
{
    writer.RenderBeginTag();
}
于 2012-11-09T15:58:32.593 回答
3

是的,这绝对是可能的。Asp.net 使您可以完全控制呈现的输出。

看看控制适配器

asp.net 团队已经发布了许多适配器,用于对菜单、TreeView 和 FormView 等控件进行 CSS 友好呈现。看看CSS 好友控件适配器

您始终可以根据您的 UI 人员的需要构建自己的渲染来自定义渲染。

于 2012-08-01T19:25:20.733 回答
1

可能更好地TagKey像这样覆盖:

protected override HtmlTextWriterTag TagKey => HtmlTextWriterTag.Div;

然后将呈现的任何属性WebControl继续放置在开始标记上。

于 2018-04-11T13:40:21.193 回答