Как передать поле SqlDbType.Varbinary (используя Eval) в метод C # в .NET? - PullRequest
0 голосов
/ 14 июля 2011

В моем коде aspx у меня есть (DevExpress Image Control):

<dx:ASPxBinaryImage Value='<%# GetPhoto(Eval("Photo")) %>' ID="BinaryImagePreview"  runat="server" ClientIDMode="AutoID" Width="100px" />

Тогда в моем коде есть:

    protected static byte[] GetPhoto(byte[] photo)
    {
        return photo;
    }

Столбец моей таблицы Фотография относится к типу Varbinary (Max) Я читал, что SqlDbType.Varbinary сопоставлен с байтом [], поэтому здесь не должно быть никаких проблем, но компилятор всегда выдает ошибку:

Наилучшее совпадение перегруженного метода для 'StoreProfile.Admin.GetPhoto (byte [])' имеет недопустимые аргументы

Почему?

Причина, по которой я хочу сделать, состоит в том, чтобы проверить, существует ли Photo (имеет ли он значение null), затем я бы показал некоторую фотографию по умолчанию с диска, что-то вроде no_photo.jpg.

1 Ответ

0 голосов
/ 14 июля 2011

О, хорошо.Я пропустил кастинг.Вызов метода таким образом решил мою проблему:

GetPhoto((byte[])Eval("Photo"))
...