Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从aspx.cs向aspx页面添加新的LiteralControl_C#_Asp.net_Webforms_Literals - Fatal编程技术网

C# 从aspx.cs向aspx页面添加新的LiteralControl

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

所以基本上我是通过后端的Literals向html添加元素的。 在asp内容占位符中使用它时效果非常好。但我需要它在特定页面上的另一个特定位置。我曾尝试使用runat=“server”制作div,但似乎不起作用。。有人对我能用的东西有经验吗?这是我代码的一部分:

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>