如何在c#代码后面添加div到容器div

Ern*_*ngs 21 .net c# code-behind

ASP.NET,C#

正如标题所示,我想知道是否有人知道如何以编程方式(文件后面的c#代码)将div添加到另一个容器div(在aspx页面中).

提前致谢

Jac*_*ien 29

//创建div的新实例并设置所有值,如ID,查看短代码示例.我在网络添加中创建了Divs

System.Web.UI.HtmlControls.HtmlGenericControl NewDiv = new 
    System.Web.UI.HtmlControls.HtmlGenericControl();
    NewDiv.ID = "divcreated";
Run Code Online (Sandbox Code Playgroud)

要么

protected void Page_Load(object sender, EventArgs e)
{
    System.Web.UI.HtmlControls.HtmlGenericControl createDiv =
    new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");      
    createDiv.ID = "createDiv";
    createDiv.Style.Add(HtmlTextWriterStyle.BackgroundColor, "Yellow");
    createDiv.Style.Add(HtmlTextWriterStyle.Color, "Red");
    createDiv.Style.Add(HtmlTextWriterStyle.Height, "100px");
    createDiv.Style.Add(HtmlTextWriterStyle.Width, "400px");
    createDiv.InnerHtml = " I'm a div, from code behind ";
    this.Controls.Add(createDiv);
}
Run Code Online (Sandbox Code Playgroud)


Mat*_*nes 19

Panel myChildPanel = new Panel();
myContainerPanel.Controls.Add(myChildPanel);
Run Code Online (Sandbox Code Playgroud)


Tho*_*rin 6

除了使用像ocdecio建议的Panel之外,还有其他几种可能性.

  • 您可以在div中使用asp:Literal控件,并使用预生成的HTML填充它
  • 将一个runat ="server"添加到div本身并将其作为HtmlGenericControl访问,从代码隐藏中添加其他控件.
  • 使用<%= ...%>

这取决于您需要的控制水平.尽管如此,在大多数情况下,开始隐形的小组最好:

<div>    
<asp:Panel Visible="false" id="MyPanel" runat="server">
</asp:Panel>
</div>
Run Code Online (Sandbox Code Playgroud)

然后在需要时更改代码隐藏的可见性.

您可能想要使用其他方法之一的情况是,当您遇到一些基于ID分配样式的CSS文件时.在这种情况下,使用.NET控件并不是一个真正的选择.但实际上,你应该嘲笑你的设计师,并告诉他使用类名.


Otá*_*cio 4

使用 asp:Panel,它映射到 div。