我有一个HyperLink
控件,其Text
属性中包含文字。
使用以下代码:
var link = new HyperLink();
var img = new HtmlGenericControl("img");
img.Attributes.Add("src", "text.png");
link.Text = "Test";
link.Controls.Add(img);
当我这样做时,图像会在a
标记内呈现,但文本不是数百。
有没有办法在Text
属性中呈现图像和文本而不将第三个控件放入混合中?
答案 0 :(得分:3)
当您将任何控件放入WebControl.Controls
集合时,它将忽略Text
中的内容。因此,如果要同时渲染文本和其他子控件,则应将文本添加到Controls
:
var link = new HyperLink();
var img = new HtmlGenericControl("img");
img.Attributes.Add("src", "text.png");
link.Controls.Add(new Literal{ Text = "Test"}); // this line will add the text
link.Controls.Add(img);
答案 1 :(得分:2)
我觉得这应该适合你。
var link = new HyperLink();
var img = new HtmlGenericControl("img");
var lbl = new Label();
img.Attributes.Add("src", "text.png");
lbl.Text = "Test";
link.Controls.Add(img);
link.Controls.Add(lbl);
this.Controls.Add(link);
答案 2 :(得分:1)
根据the MSDN article“HyperLink控件可以显示为文本或图像。”所以答案是否定的,我很害怕。