asp.net - asp.net 控件的渲染

标签 asp.net html

我发现在使用 asp.net 控件时很难制作正确的 css 文件,因为我不知道不同控件的 html 输出最终是什么.

例如,如果我想使用 asp.net 控件添加一个 div 标记,就不容易知道我可以使用哪种控件。

是否有任何文档显示每个 asp.net 控件,该控件呈现的 html 是什么?我知道某些控件可能会由于其配置方式而改变其输出,但大多数控件至少会遵循此处的模式。

最好的当然是 Web 上的服务,您可以在其中放入 asp.net 控件定义并获取呈现的 html。

目前我必须将一个控件放入我的网络表单中,运行它并检查浏览器中的源代码,如果它不是正确的 html 标记,请尝试另一个控件并重复。这很快就会变得乏味。

最佳答案

如果您想知道服务器控件呈现给哪些 html 控件,您可以调用 RenderControl :

Dim myGridView as new GridView
Dim sb as New StringBuilder()    
Dim sw as New IO.StringWriter(sb)
Dim textWriter as New HtmlTextWriter(sw)
myGridView.RenderControl(textWriter)
' now we can have a look what asp.net has rendered: '
Dim gridViewHTML as String = sb.ToString()

呈现的 html 甚至会因浏览器而异,例如,当 ASP.Net 认为客户端使用“低级”浏览器(BrowserCaps)时,面板将为 rendered as Table。而不是 DIV。

顺便说一下,如果你在页面内部的控件上测试我上面的代码,你必须覆盖 VerifyRenderingInServerForm否则你会得到一个 “...必须放置在带有 runat=server 的表单标签内”-错误:

Public Overrides Sub VerifyRenderingInServerForm(ByVal control As System.Web.UI.Control)
   Return
End Sub

关于asp.net - asp.net 控件的渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5258224/

相关文章:

c# - 是否可以在 ASP.Net 属性中设置必需的属性?

html - CSS 下划线

html - 应用 CSS :visit to same URL that has different $_GET parameters

HTML/CSS -( float : left) does not work

asp.net - LINQ:多对多关系,从列表中选择

asp.net - 如何将文件发布到 ASP.NET Web Api 2

javascript - 加载时文本框默认文本,焦点时文本框为空

html - 如何在下拉列表中进行递增/递减输入?

html - 导致父 ul 之间存在间隙的子列表元素

c# - FlickrNet API - 从 PhotoSearch 获取集合名称