web-dev-qa-db-fra.com

Ajout de code HTML à partir du code derrière dans Asp.net

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.

17
Vinay Pratap Singh

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
14
Hans Kesting

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));
25
Yair Nevet
<div id="Div1" runat="server">

Div1.InnerText = "Text";
1
HQtunes.epizy
  1. Prenez une variable de chaîne locale TEMP.
  2. Créez le même html que vous souhaitez afficher à l'écran et stockez-le dans la variable TEMP.
  3. Vous pouvez prendre la création html de contrôle dans une fonction distincte en fonction des besoins.
  4. Placez le HTML créé en tant que HTML interne dans votre panneau/div.

C'est ça...

0
Chirag

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();
0
Saurabh