#asp.net #vb.net #web-controls
#asp.net #vb.net #веб-элементы управления
Вопрос:
Недавнее обновление CMS вызывает у меня проблемы. Ранее область, которая содержала содержимое, была HTMLGenericControl, и я смог заставить innerHTML добавлять к div, который отображался на странице. Смотрите код ниже.
If TypeOf ctrl is HtmlGenericControl then
Dim contact as HtmlGenericControl = ctrl
html.appendFormat(("<div class=""col-sm-6 col-md-6 col-lg-6"">{0}</div>" Environment.NewLine), contact.innerHTML)
End If
Новое изменение изменило эту область содержимого на буквальный элемент управления, и у меня возникли проблемы с получением HTML из буквального элемента управления. Я могу получить идентификатор элемента управления, используя.ClientID итак, я вижу, что все еще могу найти правильный div, но мне нужно получить Html внутри этого div. Может ли кто-нибудь указать мне правильное направление, чтобы я мог продолжить расследование?
If TypeOf ctrl is LiteralControl then
Dim contact as LiteralControl = ctrl
html.appendFormat(("<div class=""col-sm-6 col-md-6 col-lg-6"">{0}</div>" Environment.NewLine), contact.Text)
End If
Ответ №1:
Элементы управления литералами ASP обычно используются только для отображения текста и не создают интервалы или другие HTML-теги, которые можно возвращать или стилизовать.
Вот пример разметки HTML, сгенерированной следующим литералом ASP:
<asp:Literal runat="server">Hi there!</asp:Literal>
Литерал также может быть определен как so:
<asp:Literal runat="server text="Hi there!" />
Чтобы получить доступ к тексту буквального элемента управления ASP, просто используйте .Свойство Text.
MyLiteral.Text = "Hi there!"
На самом деле вы можете передавать фрагменты HTML в буквальный текст, если вам нужно, и они будут отображаться как обычно. Однако, если вы на самом деле разрабатываете код на стороне сервера, и вам нужно это сделать, рассмотрите возможность использования вместо этого asp: Labels (которые отображают промежутки) и asp: Panels (которые отображают divs).
MyLiteral.Text = "<div style='width: 100px; height: 100px; background-color: yellow;'></div>"
Вот документация Microsoft по литералам ASP; она включает в себя все доступные свойства для доступа.