2011-04-11 68 views
2

我維護一個Silverlight 4應用程序。當我不在辦公室時,數據庫結構發生了變化,表格被刪除,其字段合併到另一個現有表格中。現在,我在創建新項目並進入其「摘要」屏幕後收到以下錯誤:加載空字符串和Silverlight 4

「值不能爲空。參數名:文字 在System.Windows.Controls.TextBox.set_Text(字符串值)」

這僅與新創建的條目,而不是舊的條目發生下一個屏幕上的信息是完整的(數據來自轉換Excel電子表格並加載到數據庫中)。所以,我已經縮小了這一點:用於創建新記錄的子窗口沒有添加到表中的所有字段,因爲創建記錄時某些信息不可用。 Google搜索發現,Silverlight中無法傳遞空字符串。

摘要屏幕通過ddsSummaryLoadedData域服務加載。如果我不包含「新」字段,那麼現有條目的值不會加載,但新條目不會導致錯誤。如果我確實包含它們,舊的條目可以正確載入,但是新的條目會導致上述錯誤。

是否有一種解決方法可以在需要時創建空字段,但是如果它存在(對於較舊的條目)仍然會加載數據?還是子窗口需要重新設計?我是Silverlight的新手,仍然有很多東西需要學習!

+1

如何加載數據?域/模型或數據訪問層是否根據新的表結構進行了更改?你能適應RIA服務方法嗎?你在Silverlight中使用MVVM還是在代碼隱藏中分配字段? – 2011-04-11 20:20:22

回答

0

它看起來並不像使用Bindings來呈現視圖,否則空值將被優雅地處理,所以如果您在代碼中手動設置Text屬性,請使用級聯運算符來驗證您沒有提交空值。

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