2010-03-06 66 views
0

編譯器錯誤信息:CS0030:無法將類型「System.Web.UI.Control」到「System.Web.UI.WebControls.ImageField」訪問圖像控制

Line 107: protected void BookListView_DataBinding(object sender, EventArgs e) 
Line 108: { 
Line 109:  ImageField img = (ImageField)BookListView.FindControlR("Image1"); 
Line 110:  if (img.ImageUrl == "") 
Line 111:   img.ImageUrl = "Snoimage.gif"; 

控制是找到,但...在線路上出現

錯誤109

FindControlR是找到控制

控制位於列表視圖擴展

<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Pic_Address") %>' /> 

回答

0

您正試圖將Image控件投射到ImageField控件。

嘗試稍微修改代碼:

Image img = (Image)BookListView.FindControlR("Image1"); 
+0

我要訪問圖像控件的ImageUrl屬性,問題是我不能訪問控制。 FindControlR返回控件,我想知道如何將它轉換到imagefield,所以我可以在後面的代碼中設置ImageUrl。 – Mahdi

+0

您的代碼已經將控件轉換爲ImageField。拋出異常的原因是你試圖將Image控件(ASP:Image)轉換爲ImageField(ASP:ImageField)。請修改您的投射代碼或修改前端代碼以使用ASP:ImageField。 –