添加控件后不呈现HyperLink文本

时间:2014-03-06 11:24:15

标签: c# asp.net

我有一个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属性中呈现图像和文本而不将第三个控件放入混合中?

3 个答案:

答案 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控件可以显示为文本图像。”所以答案是否定的,我很害怕。