2011-04-11 5 views
2

Silverlight 4 응용 프로그램을 유지 관리합니다. 사무실에없는 동안 데이터베이스 구조가 변경되고 테이블이 삭제되고 해당 필드가 다른 기존 테이블로 결합되었습니다. 이제 새 항목을 만들고 "요약"화면으로 진행하면 다음과 같은 오류가 발생합니다.null 문자열 및 Silverlight로드 4

"값은 null 일 수 없습니다. 매개 변수 이름 : 텍스트 시 System.Windows.Controls.TextBox.set_Text (문자열 값) "

이것은 새로 만든 항목이 아니라 다음 화면의 정보가 완료되는 이전 항목이 아닌 경우에만 발생합니다. Excel 스프레드 시트에 저장하고 데이터베이스에로드). 그래서 그것을 좁혔습니다 : 새 레코드를 만드는 데 사용되는 자식 창을 레코드를 만들 때 일부 정보를 사용할 수 없으므로 테이블에 추가 된 모든 필드가 없습니다. Silverlight에서 null 문자열을 전달할 수 없다는 Google 검색이 나타났습니다.

요약 화면은 ddsSummaryLoadedData 도메인 서비스를 통해로드됩니다. "새"필드를 포함하지 않으면 값은 기존 항목에 대해로드되지 않지만 새 항목으로 인해 오류가 발생하지 않습니다. 포함 시키면 이전 항목은 올바르게로드되지만 새로운 항목은 위의 오류를 제공합니다.

필요하면 빈 필드를 만들 수 있지만 (오래된 항목의 경우) 데이터가 여전히로드되는 경우에는 해결 방법이 있습니까? 또는 하위 창을 다시 디자인해야합니까? 저는 Silverlight를 처음 사용하고 아직도 배울 점이 많습니다!

+1

어떻게 데이터를로드하나요? 도메인/모델 또는 데이터 액세스 계층이 새 테이블 구조에 따라 변경 되었습니까? RIA 서비스 방법을 적용 할 수 있습니까? Silverlight에서 MVVM을 사용합니까? 코드 숨김으로 필드를 할당합니까? –

답변

0

Bindings를 사용하여보기를 렌더링하는 것처럼 보이지 않으면 null 값이 정상적으로 처리되므로 코드에서 Text 속성을 수동으로 설정하는 경우 계단식 연산자를 사용하여 null 값.

myTextBox.Text = myModelValue.FirstName ?? string.Empty;