c# - 如何以编程方式将图像添加到 asp.net 链接按钮

标签 c# asp.net asplinkbutton

我有一个 ASP.NET 链接按钮,我需要将文本和图像添加到我认为我可以使用 Controls.Add 将图像添加到按钮但没有骰子.

这是我目前所拥有的:

foreach (var entity in metadata.Meta.Where(e => e.ReportableObject == true))
{
    LinkButton lb = new LinkButton();
    string iconpath = "~/images/search/" + entity.ClassName + ".png";
    lb.CssClass = "entityIcon";
    lb.Controls.Add(new Image { ImageUrl =  iconpath , CssClass = "imgSize"});
    lb.Text = entity.ClassName;
    entityHolder.Controls.Add(lb);
}

当控件呈现时,我看到了文本,但我什至没有得到呈现的图像容器。我认为它可能是图像的路径,但即使我尝试使用完整限定路径从现有站点映射到图像,也不会呈现任何内容。

编辑:为澄清起见,主页(链接或图像)中没有 asp.net 控件,此 for 循环正在迭代集合并在运行时创建控件。最后一行 entityHolder 是添加了按钮的 ASP.NET 面板。

如果可能的话,有人可以帮助我理解我做错了什么吗?我必须使用 LinkBut​​ton 而不是 ImageButton 因为我需要同时呈现文本和图像。

干杯

最佳答案

您必须通过操作控件的 Text 属性来呈现 <img标记例如:

foreach (var entity in metadata.Meta.Where(e => e.ReportableObject == true))
{
      LinkButton lb = new LinkButton();
      string iconpath = ResolveClientUrl("~/images/search/" + entity.ClassName + ".png");
      lb.CssClass = "entityIcon";
      lb.Text = string.Format(@"image <img src=""{0}"" class=""{1}"" />",iconpath,"imgSize");
      entityHolder.Controls.Add(lb);
}

关于c# - 如何以编程方式将图像添加到 asp.net 链接按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960958/

相关文章:

c# - 日志记录逻辑应该位于 DDD 解决方案中的什么位置?

c# - 使用 MySql MySQLMembershipProvider - autogenerateschema ="true"不工作?

asp.net - 如何在弹出窗口中打开aspx网页

asp.net - 使用 Gridview LinkBut​​ton 制作 If 语句

c# - updatepanel 中的 asp.net 链接按钮不触发

c# - 运行测试时 HttpResponseBase.Headers 为空

c# - 单元测试 View 中设置的 ASP.NET MVC ViewBag 属性

c# - 如何连接一个属性中的字段

c# - 在 C# 中,在何处使用字符串 [] 与列表 <string>

c# - 从 ASP.NET 中的标记访问我的代码隐藏类属性的最佳方法