2010-03-17 289 views
1

這裏是我的GridView的HTML:呼叫功能

<asp:GridView ID="gvPortfolioImages" runat="server" AutoGenerateColumns="False" DataSourceID="ldsPortfolioImages"> 
    <Columns>   
     <asp:TemplateField HeaderText="Image" SortExpression="Filename"> 
      <ItemTemplate> 
       <img src='<%# Portfolio.GetImageURL(Eval("Thumbnail").ToString()) %>' alt='<%# Eval("Thumbnail") %>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

我碰到下面的錯誤在那裏我試圖調用Portfolio.GetImageURL():

名稱圖集'在當前的情況下不存在

我以前見過這樣的函數,但它似乎並沒有爲我工作。誰能告訴我問題是什麼?

回答

1

在你的aspx頁面中,你需要包含命名空間,以便編譯器知道你的Portfolio對象,我假設它是一個帶有靜態函數的靜態類(如果沒有,你需要在使用它之前實例化你的Portfolio對象)。這是您需要在aspx文件頂部的<@ Page之後添加的片段。當然,用正確的名稱空間替換字符串。

<%@ Import Namespace="YourApps.Namespace.Where.PorfolioIs" %> 

該錯誤發生,因爲它不知道Portfolio是什麼。就好像你試圖在代碼隱藏文件(.cs文件)中引用它,而沒有包含Portfolio類所在的命名空間的using聲明。

+0

感謝你們,我忘了導入正確的命名空間。 – Steven 2010-03-18 00:19:34

0

假設Portfolio是一個有效的對象,你是否通過using語句提供了對其命名空間的引用?還要檢查以確保GetImageURL()是一個靜態函數。您可能只需在GridView的代碼後面放置一個模擬保護的靜態字符串GetImageURL()函數。您可能可以通過反覆試驗確定是否是根本原因。