如何在c#中使用stringbuilder添加图像按钮?
问题描述:
我想在后面的c#代码中添加图像按钮。我正在使用stringBuilder在后面的代码中创建我的html标签。我想用html标签添加图像按钮。我该怎么做呢?如何在c#中使用stringbuilder添加图像按钮?
StringBuilder sbWorkMap = new StringBuilder();
IList<WorkMapNode> workMapNode =
WorkMapNode.GetByWorkMapModuleId(item.WorkMapModuleId);
foreach (var node in workMapNode) {
ImageButton imgBtn = new ImageButton();
imgBtn.ID = node.WorkMapNodeId.ToString();
imgBtn.ImageUrl = "~/images/check.jpg";
if (node.Url != null) {
sbWorkMap.Append("<h4><a href='" + node.Url + "'>" + node.Name + "</a></h4>");
}
else {
sbWorkMap.Append("<h4>" + node.Name + "</h4>");
}
}
// I'm adding the string builder to Place holder control
phWorkMap.Controls.Add(new LiteralControl(sbWorkMap.ToString()));
问题
如何添加imgBtn到sbWorkMap?我想为我创建的每个节点添加图像按钮!
应该是这样的
ImageButton1节点1
ImageButton2节点2
ImageButton3节点3
答
无需渲染HTML,你可以直接添加图像到页面:
ImageButton imgBtn = new ImageButton();
imgBtn.ImageUrl = @"~images\April.jpg";
this.Form.Controls.AddAt(0, imgBtn);
索引位于图像应放置的位置。您也可以将其放置在其他控件中。
ImageButtons是服务器端控件,所以你不能简单地通过输出HTML来渲染它们。您是否计划关联服务器端代码以单击图像按钮上的事件,或者您是否真的只想输出图像? – StriplingWarrior 2012-08-07 16:37:37
是的,我确实想关联服务器端单击事件。 – HardCode 2012-08-07 16:39:35
我不确定你在做什么。你不应该通过在Page_Load中使用asp-object-model而不是使用StringBuilder来添加图像按钮吗? – 2012-08-07 16:44:24