如何在div.Innerhtml asp c#中添加图像?

时间:2013-02-11 09:45:29

标签: c# asp.net webforms

我想将图像添加到div,但innerHtml会覆盖它。我需要如何实现这一目标?这就是我现在所拥有的:

Image ThumbImg = new Image();
ThumbImg.ImageUrl = ImgUrl; 

HtmlGenericControl divContent = new HtmlGenericControl("div");
divContent.Controls.Add(ThumbImg);
divContent.InnerHtml = Desc;

如果我将divContent.Controls.Add(ThumbImg);行移到最后,那么它会添加一个图像,但是在内容的末尾,我希望图像位于内容的开头。

5 个答案:

答案 0 :(得分:4)

在Desc中添加“img”标签。然后在div的innerhtml中设置它。

Desc=Desc+ "<img src=" + ImgUrl + " />";
divContent.InnerHtml = Desc;

其他

Image img = new Image();
img.ImageUrl = ImgUrl;
divContent.Append(img);
divContent.Append(Desc);

答案 1 :(得分:2)

使用此功能在Div

中显示图像

div.Style(“background-image”)= Page.ResolveUrl(“〜/ Images / xyz.JPG”)

答案 2 :(得分:1)

当你设置InnerHtml时,你会覆盖你添加的所有控件(如你所知)。

解决方案:添加另一个控件,例如放入文本的LiteralControl

Image ThumbImg = new Image();
ThumbImg.ImageUrl = ImgUrl; 

HtmlGenericControl divContent = new HtmlGenericControl("div");
divContent.Controls.Add(ThumbImg);
LiteralControl lit = new LiteralControl();
lit.Text = Desc;
divContent.Controls.Add(lit);

或者,作为替代方案,请使用Label控件。差异:标签在显示文本之前使用转义,LiteralControl不会。

答案 3 :(得分:1)

你可以像这样添加它。

Desc +=  "<img id=\"img1\" src="+ ImgUrl + " />";
divContent.InnerHtml = Desc;

答案 4 :(得分:0)

不确定,但这会有效:

divContent.InnerHtml += Desc;