如何在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

+0

ImageButtons是服务器端控件,所以你不能简单地通过输出HTML来渲染它们。您是否计划关联服务器端代码以单击图像按钮上的事件,或者您是否真的只想输出图像? – StriplingWarrior 2012-08-07 16:37:37

+0

是的,我确实想关联服务器端单击事件。 – HardCode 2012-08-07 16:39:35

+0

我不确定你在做什么。你不应该通过在Page_Load中使用asp-object-model而不是使用StringBuilder来添加图像按钮吗? – 2012-08-07 16:44:24

无需渲染HTML,你可以直接添加图像到页面:

ImageButton imgBtn = new ImageButton(); 

imgBtn.ImageUrl = @"~images\April.jpg"; 

this.Form.Controls.AddAt(0, imgBtn); 

索引位于图像应放置的位置。您也可以将其放置在其他控件中。

+0

我想为我创建的每个节点添加图像按钮。 – HardCode 2012-08-07 16:50:43

+1

您可以创建并添加尽可能多的控件,以满足您的心愿。 – 2012-08-07 16:57:59

+0

它的工作原理!但是我怎么把它放在每个节点旁边?索引不适合我! – HardCode 2012-08-07 17:38:20