2010-09-14 47 views
1

我有一個面板控件,我從後面的代碼添加圖像控件。面板內的ASP.NET圖像控制

Panel1.Controls.Add(new Image { ImageUrl = String.Format("img/{0}.gif", x) }); 

然而,當我嘗試訪問新的圖像控制來修改某些屬性,我得到一個字面上的控制來代替。

即:

Panel1.Controls[0].Width=new Unit(10, UnitType.Pixel); 

結果... 「無法投型」System.Web.UI.LiteralControl爲鍵入 'System.Web.UI.WebControls.Image' 的對象「

爲什麼?請幫忙。

回答

1

除了圖片之外,您可能在面板中有更多的控件。

試圖通過它們進行迭代:

foreach (Control ctrl in Panel1.Controls) 
    if (ctrl is Image) 
     ctrl.Width = new Unit(10, UnitType.Pixel); 
+0

是的,你是對的。在之間有空格字符,並且這是我得到的字面控制。 – 2010-09-14 06:06:52

1

在ASP.NET中總有附加到任何控制文字控制。所以如果你通過索引找到它,你會得到它在奇怪的地方,如Panel1.Controls[1]