HtmlGenericControl Без тега - PullRequest
2 голосов
/ 04 июля 2011

Asp.NET C #.

Можно создать HtmlGenericControl без тега? Если я напишу:

HtmlGenericControl o_My_Control = New HtmlGenericControl();

Он автоматически возвращает элемент span. Мне нужен UserControl, потому что я должен добавить этот элемент управления в другой пользовательский элемент управления Control.Add (o_My_Control), и мне нужно напрямую добавить HTML. Я использую o_My_Control.innerHTML.

Можете ли вы помочь мне найти решение?

Ответы [ 2 ]

7 голосов
/ 04 июля 2011

HtmlGenericControl - это элемент управления, используемый для представления элемента HTML, поэтому он должен иметь имя. Вы можете предоставить один или, если вы этого не сделаете, он использует значение по умолчанию «span».

Если у вас есть какой-то текст, который вы хотите поместить на страницу напрямую, вы можете посмотреть на literalControl (http://msdn.microsoft.com/en-us/library/system.web.ui.literalcontrol.aspx). Этот элемент управления предназначен для использования для «элементов HTML, текста и любых других строк на странице ASP.NET, которые не требуют обработки на сервере».

Так что вы можете просто сделать

myUserControl.Controls.Add(new LiteralControl(myHTMLstring));

И вообще не нужно использовать innerHTML.

1 голос
/ 04 июля 2011

Элемент span автоматически возвращается, потому что все серверные элементы управления окружены тегами span. Есть несколько способов удалить эти теги, но если вы можете написать собственный элемент управления и затем переопределить методы «RenderBeginTag» и «RenderEndTag», вы можете решить эту проблему следующим образом.

См. http://weblogs.asp.net/gunnarpeipman/archive/2009/04/09/removing-span-tags-around-server-control.aspx для получения информации об использовании этого метода для решения проблемы.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...