Как проверить, содержит ли byte [] какие-либо байты на стороне клиента, используя Eval? - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть сетка, и в одной из ячеек будет показана ссылка на файл, если файл присутствует в базе данных, однако мой Eval не работает.

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

Когда я запускаю код, я всегда получаю ссылку, потому что объект imgCertificate не нулевой, это байт [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>

1 Ответ

1 голос
/ 23 ноября 2011

Вы можете проверить, является ли ((byte[])Eval("imgCertificate")).Length == 0

...