我发现在使用 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/