2011-06-08 28 views
2

,我試圖生成圖像標記:HtmlGenericControl(「IMG」)在asp.net不產生適當的圖像標籤

var img = new HtmlGenericControl("img"); 

它似乎產生<img></img>

我怎麼會產生一個正常的圖像標籤與asp.net/C#?

例如

<img/> 
+2

語義上''與''是一樣的,那麼爲什麼它很重要? – 2011-06-08 17:41:18

+0

[Self closing Html Generic Control?](http://stackoverflow.com/questions/1708037/self-closing-html-generic-control) – 2011-06-08 17:42:29

+1

@Bala R,你是對的,這是一個類似的問題。我想這個問題是足夠具體的留下來。在觀察第一個答案時,似乎使用HtmlGenericControl不是創建img標籤的最佳方式。 – tester 2011-06-08 17:45:37

回答

6

圖像元素有一個專門的html控件。

System.Web.UI.HtmlControls.HtmlImage 

它生成你想要的html。

+0

這似乎是最簡單的修復方法。我只是將'HtmlGenericControl(「img」)''的每個實例都改爲'HtmlImage()',並且所有事情都按照計劃進行。謝謝 – tester 2011-06-08 18:00:03

1

您正在將其創建爲通用html控件。嘗試使用Image控件:

var img = new Image(); 
+0

注意:這個是'System.Web.UI.WebControls.Image'而不是'System.Drawing.Image'。 – 2011-06-08 17:46:20

+0

我認爲他的問題是而不是而不是創建的控件的具體類型。 – 2011-06-08 17:46:31

+0

我確定,但HtmlGenericControl不明白標籤是什麼,只是創建標準的打開和關閉標籤。 – 2011-06-08 23:07:41

1

覆蓋渲染方法,並使用HtmlTextWriter.SelfClosingTagEnd創建自關閉標籤?