繁体   English   中英

asp.net从Code Behind页面插入HTML

[英]asp.net insert HTML from Code Behind page

我有一个ASP.NET问题。 我正在使用C#。

使用SQL查询,我有数据库中的行数,我需要写相同数量的div标签来显示结果。

这是代码

count是包含行数的变量。

Projects是一个List

for (int i = 0; i < count; i++)
{
    form1.Controls.Add(new Literal() { 
         ID = "ltr" + i,

         Text = "<div class= 'container' >Name = " + Projects[i].Name + " ;</div>" });
}

但是有一个问题,我必须把这些div放到ID = Container的另一个div中。

以这种方式,Literal控件不会放入div#Container

如何将For结果放入div中?

除了用于呈现文本而不是html标签的Literal控件,您可以使用HtmlGenericControl

HtmlGenericControl div = new HtmlGenericControl();
div.ID = "div" + i;
div.TagName = "div";
div.Attributes["class"] = "container";
div.InnerText = string.Format("Name = {0} ;", Projects[i].Name);
form1.Controls.Add(div);

或者Panel控件,它被渲染成div,里面有Literal

Panel div = new Panel();
div.ID = "panel" + i;
div.CssClass = "container";    
div.Controls.Add(new Literal{Text = string.Format("Name = {0} ;", Projects[i].Name)});    
form1.Controls.Add(div);

相反,U应该使用中继器控制,它将非常容易使用。

脚步

  1. 拿一个SqlDatasource。
  2. 拿一个转发器控制。
  3. 将其数据源设置为。
  4. 根据需要设计itemTemplate。
  5. 完成..!

如果有任何疑问,请关注此链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM