Je veux ajouter une structure HTML et un contrôle comme celui-ci à partir du code derrière dans un panneau
<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>
Si j'essaye d'ajouter comme ça
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);
Il ajoutera des contrôles l'un après l'autre, comment puis-je faire en sorte que les contrôles soient imbriqués comme indiqué ci-dessus.
N'ajoutez pas ce contrôle enfant au panneau, ajoutez-le au contrôle qui devrait être le parent:
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
Pour ajouter du code HTML à votre panneau, ajoutez un contrôle LiteralControl
à votre panneau:
string yourHTMLstring = "<div class='Main'>....";
pnlUserdata.Controls.Add(new LiteralControl(yourHTMLstring));
<div id="Div1" runat="server">
Div1.InnerText = "Text";
C'est ça...
Faites le div runat="server"
<div id="d" runat="server"></div>
et ajoutez les contrôles à l'intérieur de div comme ci-dessous
d.Controls.Add();