Вставьте тег <br /> программно (VB.NET) - PullRequest
6 голосов
/ 28 апреля 2009

Я пытаюсь динамически добавлять результаты на этот экран, и я просто хочу поставить тег разрыва после метки, чтобы начать размещать информацию на следующей строке. По какой-то причине использование литерала не работает для меня. Есть ли лучший способ сделать это или я должен просто использовать таблицы?

Dim break As LiteralControl
break = New LiteralControl("<br />")
divListenerInfo.Controls.Add(break)

Это часть кода, которую я пытаюсь использовать.


Позвольте мне уточнить, что я сказал:

Это не работает, так как разрыв строки не отображается на веб-странице. Он компилируется нормально и в коде нет ничего плохого. Он просто не отображается в html по какой-то странной причине.

Ответы [ 7 ]

16 голосов
/ 28 апреля 2009

Правильный контроль для использования это HtmlGenericControl.

Dim br As New HtmlGenericControl("br")

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

2 голосов
/ 07 ноября 2012


Я знаю, что это возрождает старый пост, но я не видел четкого ответа, и я наконец понял это для своего собственного заявления Надеюсь, это поможет кому-то еще!
В своем приложении я попытался создать элемент управления один раз и добавить его снова, где бы он мне ни понадобился. Элемент управления будет создан только один раз для каждого родителя.
Вам нужно создавать новый элемент управления каждый раз, когда вам это нужно!
Итак, это:

divListenerInfo.Controls.Add(New LiteralControl("&lt;br />"))
divListenerInfo.Controls.Add(New LiteralControl("&lt;br />"))

Вместо этого

Dim breakTag As LiteralControl
breakTag= New LiteralControl("&lt;br />")
divListenerInfo.Controls.Add(breakTag)
divListenerInfo.Controls.Add(breakTag)
2 голосов
/ 28 апреля 2009

Если добавленный
является последним элементом в контейнере div, вы не увидите никакой разницы.

Вы можете попробовать:

Dim breakTag As LiteralControl
breakTag= New LiteralControl("<br />&nbsp;")
divListenerInfo.Controls.Add(breakTag)

чтобы увидеть разрыв.

Но я думаю, что вы должны сначала добавить фиктивный текст в этот литерал и найти его на своей странице, если он добавлен. потому что ваш код выглядит хорошо.

2 голосов
/ 28 апреля 2009

Почему бы просто не использовать другую метку или добавить <br> к предыдущему label.txt?

1 голос
/ 28 апреля 2009

Я не уверен, является ли слово break резервным словом также в vb.net, поэтому попробуйте

Dim newline = New LiteralControl("<br>")

или

newline.Text="<br>"; 
0 голосов
/ 24 мая 2012

Я думаю, что вы используете панель или заполнитель.

vb.net или C # .net синтаксис:

divListenerInfo.Controls.Add(New LiteralControl("< br >"))
0 голосов
/ 28 апреля 2009

Я бы попробовал пройтись по коду с помощью отладчика, чтобы убедиться, что строка нажата, а также трижды проверить, что divListenerInfo - правильный элемент управления.

...