2011-09-26 3 views
0

세션의 바이트 배열 인 그림입니다. 내 DataContext 내에서 내 테이블에 대한 자동 생성 모델에 바인딩 할 수 없습니다. FormView와 ObjectDataSource를 사용하여 특정 형식으로 작업하려고합니다.세션 필드를 System.Data.Linq.Binary에 바인딩

일부 예제 코드 :

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

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

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

</ObjectDataSource> 

나는 매개 변수의 유형 이름 속성 directy에 일부 유형을 지정 시도하고 그것은뿐만 아니라 작동하지 않았다.

문제는 세션 필드에 바인딩되도록 지정된 속성이 항상 null이며, 두 작업 (삽입 및 업데이트)이 모두 필요하다는 것입니다. 그리고 내 세션 필드에 어떤 값이 있는지 확인합니다.이 경우에는 바이트 배열입니다. 세션 필드의 이름을 '클래스'속성의 이름으로 지정해야합니까?

이 문제가 Linq.Binary 데이터 형식이나 세션 필드를 지정된 DataObjectTypeName에 바인딩하는 데 문제가 있습니까?

도움 말? 내가 Binary으로도 byte[]와 세션 필드에 내 비즈니스 클래스를 바인딩 할 수 없습니다 때문에

답변

0

, 나는 동일한 핸들러를 사용하여, 단지 byte[]Binary에서 속성 유형을 변경하고 ObjectDataSource를의 업데이트 및 삽입 이벤트를 수동으로했다 방법은 다음과 같습니다.

MyBusinessClass foo = (MyBusinessClass)e.InputParameters["BusinessClass"]; 
foo.Photo = (byte[])Session["MyImage"]; 
관련 문제