2010-07-29 3 views
1

WCF 서비스에서 List를 다시 얻었으며 그리드의 데이터 소스로 설정하려고합니다. 내가 데이터 바인딩 할 때 "Deviceheader"가 someObject의 속성이 아니라는 오류가 발생합니다. 사실Asp.net 내가 속성 대신 필드에 databind 수 있습니까?

<td><%# Eval("Deviceheader.DeviceID") %></td> 

, 그것은 그들이이 특성으로 구현되지 않기 때문에

public class someObject(){ 

    public DeviceHeaderDc Deviceheader; 

} 

가 어떻게 이러한 필드에 데이터 바인딩 할 수있는 공공 필드의, 속성이 아니다? 어떤 제안? 가능하다면 속성 구현을 사용하여 래퍼 객체를 작성하는 것을 피하고 싶습니다. 누군가가 여기에서 사용할 수있는 요령이나 트릭을 가지고 있다면, 나는 모든 귀입니다.

건배,
~ CK

답변

2

그리드에 RowDataBound 이벤트를 쓰는 것이 가장 좋습니다. 리터럴 컨트롤이나 서버를 사용하여 TD 태그를 바인딩하십시오. 그런 다음 필드에 바인딩하려는 것을 사용할 수 있습니다. 원하는 경우 예제를 제공 할 수 있습니다.

+1

이 경우에는 수백 개의 개체가있어서 AutoProperties 로의 변환이 실현 가능하지 않았습니다. 이것은 내 상황에 잘 돌아갔다. 감사! – Hcabnettek

1

왜 그냥 그렇게

public DeviceHeaderDc Deviceheader { get; set;} 

같은 자동 속성으로 백업 필드가 자동으로 당신에게 나중에 다시 변경할 수있는 유연성을 제공하는 생성됩니다이 방법을 정의 네가 원한다면.

+0

예, 동의합니다. 특히 자동 속성 도입 이후 필드를 속성으로 구현하면 안됩니다. –

관련 문제