【发布时间】:2011-04-11 17:47:43
【问题描述】:
我维护一个 Silverlight 4 应用程序。当我不在办公室时,数据库结构发生了变化,删除了一个表,并将其字段合并到另一个现有表中。现在,我在创建新项目并进入其“摘要”屏幕后收到以下错误:
“值不能为空。参数名称:文本 在 System.Windows.Controls.TextBox.set_Text(String value)”
这只发生在新创建的条目上,而不是下一个屏幕上的信息完整的旧条目(数据从 Excel 电子表格转换并加载到数据库中)。所以,我缩小了范围:用于创建新记录的子窗口没有添加到表中的所有字段,因为在创建记录时某些信息不可用。谷歌搜索发现空字符串不能在 Silverlight 中传递。
摘要屏幕是通过 ddsSummaryLoadedData 域服务加载的。如果我不包含“新”字段,则不会为现有条目加载值,但新条目不会导致错误。如果我确实包含它们,旧条目会正确加载,但新条目会出现上述错误。
是否有一种解决方法可以在需要它们之前创建空字段,但如果数据存在(对于较旧的条目)仍会加载数据?还是需要重新设计子窗口?我是 Silverlight 的新手,还有很多东西要学!
【问题讨论】:
-
如何加载数据?域/模型或数据访问层是否根据新的表结构进行了更改?您可以调整 RIA 服务方法吗?您在 Silverlight 中使用 MVVM 还是在代码隐藏中分配字段?
标签: c# silverlight service ria