ASP.NET, C#
正如标题所示,我想知道是否有人知道如何以编程方式(c# 代码隐藏文件)将 div 添加到另一个容器 div(在 aspx 页面中)。
提前致谢
ASP.NET, C#
正如标题所示,我想知道是否有人知道如何以编程方式(c# 代码隐藏文件)将 div 添加到另一个容器 div(在 aspx 页面中)。
提前致谢
//创建 div 的新实例并设置所有值,如 ID 查看简短的代码示例。在网络添加中创建 Div 对我有用
System.Web.UI.HtmlControls.HtmlGenericControl NewDiv = new
System.Web.UI.HtmlControls.HtmlGenericControl();
NewDiv.ID = "divcreated";
或者
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);
}
Panel myChildPanel = new Panel();
myContainerPanel.Controls.Add(myChildPanel);
除了使用 ocdecio 建议的面板之外,还有其他几种可能性。
这在一定程度上取决于您需要的控制水平。尽管如此,在大多数情况下,一个开始时不可见的面板是最好的:
<div>
<asp:Panel Visible="false" id="MyPanel" runat="server">
</asp:Panel>
</div>
然后在需要时更改代码隐藏的可见性。
您可能想要使用其他方法之一的一种情况是,当您遇到一些基于 ID 分配样式的 CSS 文件时。在这种情况下,使用 .NET 控件并不是一个真正的选择。但实际上,你应该打你的设计师的头,告诉他改用类名。
使用 asp:Panel,它映射到一个 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
}
直接在Page_Load函数中生成您的 div,这样它将确保在任何回发后存在,避免在(!IsPostBack){}之类的代码块中生成它,否则它不会在您的页面中存在。