2011-11-22 35 views
0

我有一個gridview,其中一個單元格將顯示一個文件的鏈接,如果該文件存在於數據庫中,但是我的Eval不起作用。如何檢查一個字節[]是否包含使用Eval的客戶端的任何字節?

<asp:TemplateField HeaderText="Certificate" ItemStyle-HorizontalAlign="Center"> 
      <ItemTemplate> 
       <asp:HyperLink runat="server" Text='<%#Eval("imgCertificate") == null ? "" : "View" %>' ID="hlFile" /> 
      </ItemTemplate> 
     </asp:TemplateField> 

當我運行代碼,我總是得到的鏈接,因爲imgCertificate對象不是null,則是一個byte [0]。我如何檢查這個?

編輯:這是我的新代碼,現在我收到以下錯誤:

編譯器錯誤信息:CS1061:「對象」不包含「長度」,沒有擴展方法「長度」接受的定義類型「對象」的第一個參數可以找到(是否缺少using指令或程序集引用?)

<asp:TemplateField HeaderText="Certificate" ItemStyle-HorizontalAlign="Center"> 
      <ItemTemplate> 
       <asp:HyperLink runat="server" Text='<%#(byte[])Eval("imgCertificate").Length == 0 ? "" : "View" %>' ID="hlFile" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
+0

是否'Eval'是不是在客戶端上。 – SLaks

+0

該錯誤是由缺少括號引起的。看到我的答案。 – SLaks

回答

1

您可以檢查((byte[])Eval("imgCertificate")).Length == 0

+0

這是拋出一個錯誤對象引用未設置爲對象的實例。 – EvanGWatkins

+0

這意味着它**是**'null'。 – SLaks

+0

當我檢查它是否爲空它不是,但當我檢查長度== 0我得到空???我很困惑......如果你們都能幫助我,那我就把最新的代碼放在最前面,我總是可以在數據綁定上做,但我真的很想弄清楚它現在有什麼問題...... – EvanGWatkins

相關問題