C# 从aspx.cs向aspx页面添加新的LiteralControl
所以基本上我是通过后端的Literals向html添加元素的。 在asp内容占位符中使用它时效果非常好。但我需要它在特定页面上的另一个特定位置。我曾尝试使用runat=“server”制作div,但似乎不起作用。。有人对我能用的东西有经验吗?这是我代码的一部分:C# 从aspx.cs向aspx页面添加新的LiteralControl,c#,asp.net,webforms,literals,C#,Asp.net,Webforms,Literals,所以基本上我是通过后端的Literals向html添加元素的。 在asp内容占位符中使用它时效果非常好。但我需要它在特定页面上的另一个特定位置。我曾尝试使用runat=“server”制作div,但似乎不起作用。。有人对我能用的东西有经验吗?这是我代码的一部分: foreach (var something in somethingelse) { this.Page.Form.FindControl("ContentPlaceholder1") .Controls.Add
foreach (var something in somethingelse)
{
this.Page.Form.FindControl("ContentPlaceholder1")
.Controls.Add(
new LiteralControl("It's a long list, so just typing this.")
);
}
您可以在div上使用runat=“server”。例如:
<div id="myNewDiv" runat="server"></div>
如果需要动态创建div,可以执行以下操作:
for (var i = 0; i < 10; i++)
{
var ele = new HtmlGenericControl("div")
{
InnerHtml = string.Format("new div {0}", i),
ID = string.Format("NewDiv_{0}", i)
};
Page.Form.FindControl("MainContent").Controls.Add(ele);
}
for(变量i=0;i<10;i++)
{
var ele=新的HtmlGenericControl(“div”)
{
InnerHtml=string.Format(“新div{0}”,i),
ID=string.Format(“NewDiv{0}”,i)
};
Page.Form.FindControl(“MainContent”).Controls.Add(ele);
}
您甚至可以将新div推入ContentPlaceHolder中任意位置的现有div中:
var page = Page.Form.FindControl("MainContent").FindControl("myNewDiv").Controls;
for (var i = 0; i < 10; i++)
{
var ele = new HtmlGenericControl("div")
{
InnerHtml = string.Format("new div {0}", i),
ID = string.Format("NewDiv_{0}", i)
};
page.Add(ele);
}
var page=page.Form.FindControl(“MainContent”).FindControl(“myNewDiv”).Controls;
对于(变量i=0;i<10;i++)
{
var ele=新的HtmlGenericControl(“div”)
{
InnerHtml=string.Format(“新div{0}”,i),
ID=string.Format(“NewDiv{0}”,i)
};
第页添加(ele);
}
在源代码中放置一个HTML标记,如下所示
<table>
<tbody>
<-- Your literal control here -->
</tbody>
</table>
在code-behind set
literal1.Text=“””+您的数据在这里+“”
中,它将工作它在foreach循环中,因此如果我这样做,它不会为每个项目生成新的文本,因为如果我这样做,我通常会将文本命名为“literal”,这会导致问题吗?
<table>
<tbody>
<-- Your literal control here -->
</tbody>
</table>