Управление ASP.NET для рендеринга <div>
Элемент управления Label в ASP.NET, кажется, отображает теги <span>
, но есть ли серверный элемент управления для отображения HTML внутри <div>
?
Конечно, я мог бы установить display: block
, и он может выглядеть одинаково, но я бы предпочел не вставлять divs внутри промежутков. Кроме того, я бы предпочел не использовать <%= MyVariable %>
, потому что это может не очень хорошо выглядеть при обратных передачах.
Любые предложения, пожалуйста?
Ответы
Ответ 1
Мне кажется, вам нужен класс HtmlGenericControl
. Он имеет конструктор, который принимает строковую переменную, которая инициализирует новый экземпляр класса HtmlGenericControl
с указанным тегом:
var div = new HtmlGenericControl("div");
Он также имеет свойства InnerHtml
и InnerText
(вы упомянули это в комментарии к предыдущему ответу).
Ответ 2
Конечно: ASP.NET имеет встроенный элемент управления Panel!
И вы можете использовать его следующим образом:
<asp:Panel ID="myPanel" runat="server">
<!-- Other markup here like client and server controls/elements -->
</asp:Panel>
Ответ 3
Попробуйте выполнить Panel.
Ответ 4
Попробуйте следующее:
<div class="myclass">
<asp:Literal ID="mytext" runat="server"></asp:Literal>
</div>
Установите текст внутри Literal
, который отображает без тега html
Ответ 5
<asp:Panel>
<div id="NoRecords" runat="server" visible="false">No records are available.</div>
</asp:Panel>
Code-Behind
protected void MyRepeater1_PreRender(object sender, EventArgs e)
{
if (MyRepeater1.Items.Count == 0)
{
NoRecords.Visible = true;
}
else
{
NoRecords.Visible = false;
}
}
Ответ 6
div runat="server" id="myserversideDiv"
мой внутренний текст здесь. Он имеет внутренний текст и внутреннее свойство html и большую часть свойства управления сервером asp.net. Попробуйте это.