如何在运行时创建和插入HTML?
How to create and insert HTML at run time?
有人可以给出代码示例如何在 运行 时创建和插入 HTML 吗?
HTML是这样的:
<div class="row">
<div class="col-md-3">
<img src="example.png" class="profileImage" /> <br />
<span class="name">Name</span>
<div class="ver"></div>
<img class="flag ver" src="star.png" />
<div class="horizontalBar"></div>
</div>
</div>
我得到的收盘价是:
public partial class MyPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.Header.DataBind();
ContentPlaceHolder contents = Page.Master.FindControl("MainContent") as ContentPlaceHolder;
Panel row = new Panel() { CssClass = "row" };
Panel col = new Panel() { CssClass = "col-md-3" };
Image profile = new Image()
{
CssClass = "profileImage",
ImageUrl = "example.jpg"
};
row.Controls.Add(col);
col.Controls.Add(profile);
contents.Controls.Add(row);
}
}
它不起作用(见下面的错误)并且不是完整代码,例如,什么 class 等同于生成 <span>
?
我收到这个错误:
The Controls collection cannot be modified because the control
contains code blocks
出现该错误的原因是什么?这些代码块是哪些?我该如何解决?
我已经测试了这里的代码,它可以正常工作。
相当于span
的控件是Label
,但我认为一定有更好的方法来做到这一点。
如果你真的需要动态插入HTML代码,你可以使用LiteralControl
注入它,像这样:
var html = new LiteralControl(@"<div class=""row"">
<div class=""col-md-3"">
<img src=""example.png"" class=""profileImage"" />
<br />
<span class=""name"">Name</span>
<div class=""ver""></div>
<img class=""flag ver"" src=""star.png"" />
<div class=""horizontalBar""></div>
</div>
</div>");
contents.Controls.Add(html);
有人可以给出代码示例如何在 运行 时创建和插入 HTML 吗?
HTML是这样的:
<div class="row">
<div class="col-md-3">
<img src="example.png" class="profileImage" /> <br />
<span class="name">Name</span>
<div class="ver"></div>
<img class="flag ver" src="star.png" />
<div class="horizontalBar"></div>
</div>
</div>
我得到的收盘价是:
public partial class MyPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.Header.DataBind();
ContentPlaceHolder contents = Page.Master.FindControl("MainContent") as ContentPlaceHolder;
Panel row = new Panel() { CssClass = "row" };
Panel col = new Panel() { CssClass = "col-md-3" };
Image profile = new Image()
{
CssClass = "profileImage",
ImageUrl = "example.jpg"
};
row.Controls.Add(col);
col.Controls.Add(profile);
contents.Controls.Add(row);
}
}
它不起作用(见下面的错误)并且不是完整代码,例如,什么 class 等同于生成 <span>
?
我收到这个错误:
The Controls collection cannot be modified because the control contains code blocks
出现该错误的原因是什么?这些代码块是哪些?我该如何解决?
我已经测试了这里的代码,它可以正常工作。
相当于span
的控件是Label
,但我认为一定有更好的方法来做到这一点。
如果你真的需要动态插入HTML代码,你可以使用LiteralControl
注入它,像这样:
var html = new LiteralControl(@"<div class=""row"">
<div class=""col-md-3"">
<img src=""example.png"" class=""profileImage"" />
<br />
<span class=""name"">Name</span>
<div class=""ver""></div>
<img class=""flag ver"" src=""star.png"" />
<div class=""horizontalBar""></div>
</div>
</div>");
contents.Controls.Add(html);