如何检查byte []是否使用Eval保存客户端的任何字节?

时间:2011-11-22 20:19:19

标签: asp.net bytearray eval

我有一个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>

1 个答案:

答案 0 :(得分:1)

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