Добавление 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.
Что это...