Asp.NET C#.
是否可以创建不带标记的HtmlGenericControl?如果我写道:
HtmlGenericControl o_My_Control = New HtmlGenericControl();它会自动返回一个span元素。我需要一个UserControl,因为我必须将这个控件添加到另一个用户控件Control.Add(o_My_Control)中,并且我需要直接附加html。我使用o_My_Control.innerHTML。
你能帮我找到解决方案吗?
发布于 2011-07-04 21:38:52
HtmlGenericControl是一个用来表示HTML元素的控件,因此它必须有一个名称。您可以提供一个,如果不提供,则使用缺省值"span“。
如果您有一些想要直接放入页面中的文本,那么您可能需要查看literalControl ( http://msdn.microsoft.com/en-us/library/system.web.ui.literalcontrol.aspx )。此控件设计用于“ASP.NET页面中不需要服务器处理的HTML元素、文本和任何其他字符串”。
所以你可以这样做
myUserControl.Controls.Add(new LiteralControl(myHTMLstring));并且根本不需要使用innerHTML。
发布于 2011-07-04 21:22:01
由于所有服务器控件都用span标记括起来,因此会自动返回span元素。有几种方法可以删除这些标记,但如果您能够编写一个自定义控件,然后覆盖"RenderBeginTag“和"RenderEndTag”方法,则可以通过这种方式解决问题。
有关使用此方法解决问题的信息,请参阅http://weblogs.asp.net/gunnarpeipman/archive/2009/04/09/removing-span-tags-around-server-control.aspx。
希望这能有所帮助。
https://stackoverflow.com/questions/6572073
复制相似问题