Привязать поле сеанса к System.Data.Linq.Binary - PullRequest
0 голосов
/ 27 сентября 2011

Это картинка, массив байтов, который находится в сеансе. Я не могу связать его с автоматически созданной моделью для моей таблицы внутри моего DataContext. Я пытаюсь сделать это, используя FormView и ObjectDataSource, с указанным типом.

Пример кода:

<ObjectDataSource [...] DataObjectTypeName="MyTypeName" >

    <UpdateParameters>
        <asp:SessionParameter Name="MyClassPropName" SessionField="MySessionFieldName" />
    </UpdateParameters>

    <InsertParameters>
        <asp:SessionParameter Name="MyClassPropName" SessionField="MySessionFieldName" />
    </InsertParameters>

</ObjectDataSource>

Я попытался указать некоторые типы свойству TypeName непосредственно для параметра, но оно также не сработало.

Проблема в том, что мое свойство, указанное для привязки к полю Session, всегда равно null, причем обе операции (Вставка и Обновление). И я уверен, что мое поле Session имеет какое-то значение, которое в данном случае представляет собой массив байтов. Обязательно ли называть поле сеанса именем моего класса 'Property?

Это проблема с типом данных Linq.Binary или с привязкой поля сеанса к указанному DataObjectTypeName?

Помощь

1 Ответ

0 голосов
/ 11 октября 2011

Поскольку я не мог связать свой бизнес-класс с полем сеанса ни с Binary, ни с byte[], я просто изменил тип свойства с Binary на byte[] и сделал это вручную в случае события Обновление и вставка ObjectDataSource, используя тот же метод-обработчик, например:

MyBusinessClass foo = (MyBusinessClass)e.InputParameters["BusinessClass"];
foo.Photo = (byte[])Session["MyImage"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...