如何在c#代码隐藏中向容器div添加div

如何在c#代码隐藏中向容器div添加div,c#,.net,code-behind,C#,.net,Code Behind,ASP.NET,C# 正如标题所示,我想知道是否有人知道如何通过编程(c#代码隐藏文件)将一个div添加到另一个容器div(在aspx页面中) 提前感谢使用asp:Panel,它映射到一个分区。除了使用Ocdeio建议的面板之外,还有其他几种可能性 Panel myChildPanel = new Panel(); myContainerPanel.Controls.Add(myChildPanel); 您可以在div中使用asp:Literal控件,并用预生成的HTML填充该控件 将run

ASP.NET,C#

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


提前感谢使用asp:Panel,它映射到一个分区。

除了使用Ocdeio建议的面板之外,还有其他几种可能性

Panel myChildPanel = new Panel();
myContainerPanel.Controls.Add(myChildPanel);
  • 您可以在div中使用asp:Literal控件,并用预生成的HTML填充该控件
  • 将runat=“server”添加到div本身,并将其作为HtmlGenericControl进行访问,然后从codebehind向其添加其他控件
  • 使用
这取决于你需要的控制水平。不过,在大多数情况下,一开始不可见的面板最好:

<div>    
<asp:Panel Visible="false" id="MyPanel" runat="server">
</asp:Panel>
</div>

然后在需要时从codebehind更改可见性


您可能需要使用其他方法之一的一种情况是,您必须使用基于ID分配样式的CSS文件。在这种情况下,使用.NET控件实际上不是一种选择。但实际上,你应该狠狠地揍你的设计人员一顿,告诉他改用类名。

//创建div的新实例,并设置像ID这样的所有值 查看简短的代码示例。在web add中创建div对我来说很有效

System.Web.UI.HtmlControls.HtmlGenericControl NewDiv = new 
    System.Web.UI.HtmlControls.HtmlGenericControl();
    NewDiv.ID = "divcreated";


这可能是一个非常古老的问题,但我想补充我的解决方案,以帮助:

首先,对于页面中已经存在的“div”(要添加另一个“div”的div),请提供runat=“server”属性,以便您可以从代码隐藏中访问它,它如下所示:

<div id="superDIV" class="someCssClass" runat="server"></div>

然后在Page_Load()方法中添加以下内容:

protected void Page_Load(object sender, EventArgs e)
{
   //We create our new div
   System.Web.UI.HtmlControls.HtmlGenericControl newDiv = 
     new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
   newDiv.ID = "newSuperDIV"; //<---Give and ID to the div, very important!
   newDiv.Style.Value = "background-color:white; height:61%;"; //<---Add some style as example
   newDiv.Attributes.Add("class", "amazingCssClass"); //<---Apply a css class if wanted
   superDiv.Controls.Add(newDiv); //<---Add the new div to our already existing div
}
受保护的无效页面加载(对象发送方,事件参数e)
{
//我们创建新的div
System.Web.UI.HtmlControls.HtmlGenericControl newDiv=
新系统.Web.UI.HtmlControls.HtmlGenericControl(“DIV”);

newDiv.ID=“newSuperDIV”///forsharepoint for me worked:createDiv.Attributes.Add(“ID”,“createDiv”);非常有用的答案谢谢,只是,如何将它添加到另一个div?这是问题的一部分。使用runat=“server”的Panel vs.Literal vs.div的优缺点是什么?
protected void Page_Load(object sender, EventArgs e)
{
   //We create our new div
   System.Web.UI.HtmlControls.HtmlGenericControl newDiv = 
     new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
   newDiv.ID = "newSuperDIV"; //<---Give and ID to the div, very important!
   newDiv.Style.Value = "background-color:white; height:61%;"; //<---Add some style as example
   newDiv.Attributes.Add("class", "amazingCssClass"); //<---Apply a css class if wanted
   superDiv.Controls.Add(newDiv); //<---Add the new div to our already existing div
}