我有一个gridview,其中一个单元格将显示一个文件的链接,如果该文件存在于数据库中,但是我的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:'object'不包含'Length'的定义,并且没有扩展方法'Length'可以找到接受'object'类型的第一个参数(你是否缺少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 :(得分:1)
您可以查看是否((byte[])Eval("imgCertificate")).Length == 0