Добавление HTML-кода из кода в Asp.net

Я хочу добавить структуру HTML и управлять таким образом из кода позади в панель

<div class='Main'>
    <div class='cst'>
        First Name
    </div>
    <div class='csc'>
        <asp:Label ID="lblFirstName" CssClass="ronly" runat="server"></asp:Label>
    </div>
    <div class='cst'>
        First Name
    </div>
    <div class='csc'>
        <asp:Label ID="lblFirstName" CssClass="ronly" runat="server"></asp:Label>
    </div>        <div class='cst'>
        First Name
    </div>
    <div class='csc'>
        <asp:Label ID="lblFirstName" CssClass="ronly" runat="server"></asp:Label>
    </div>
    <div class='end'>
    </div>
</div>

  <asp:Panel runat="server" CssClass="sxpnl" ID="pnlUserdata">
        </asp:Panel>

Если я попытаюсь добавить подобное

 HtmlGenericControl divcontrol = new HtmlGenericControl();
 divcontrol.Attributes["class"] = "sxro sx1co";
 divcontrol.TagName = "div";
 pnlUserSearch.Controls.Add(divcontrol);
 Label question = new Label();
 questionDescription.Text = "text";
 pnlUserSearch.Controls.Add(question);

Он будет добавлять элементы управления один за другим, как я могу сделать элементы управления вложенными, как показано выше.

Ответ 1

Не добавляйте дочерний элемент управления к панели, добавьте его в элемент управления, который должен быть родительским:

HtmlGenericControl divcontrol = new HtmlGenericControl();
divcontrol.Attributes["class"] = "sxro sx1co";
divcontrol.TagName = "div";
pnlUserSearch.Controls.Add(divcontrol);
Label question = new Label();
questionDescription.Text = "text";
divcontrol.Controls.Add(question); // add to the new div, not to the panel

Ответ 2

Чтобы добавить HTML к своей панели, добавьте элемент управления LiteralControl на панель:

string yourHTMLstring = "<div class='Main'>....";
pnlUserdata.Controls.Add(new LiteralControl(yourHTMLstring));

Ответ 3

<div id="Div1" runat="server">

Div1.InnerText = "Text";

Ответ 4

Сделайте div runat="server"

<div id="d" runat="server"></div>

и добавьте элементы управления внутри div, как показано ниже

d.Controls.Add();

Ответ 5

  • Возьмите одну локальную строчную переменную TEMP.
  • Создайте тот же html, который вы хотите отображать на экране, и сохраните его в переменной TEMP.
  • Вы можете взять html создание элемента управления в отдельной функции на основе требования.
  • Поместите созданный html как innerHTML на панель /div.

Что это...