2011-04-11 66 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;