【问题标题】:Loading a Null String and Silverlight 4加载空字符串和 Silverlight 4
【发布时间】: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


【解决方案1】:

您似乎没有使用 Bindings 来呈现您的视图,否则 null 值将被优雅地处理,因此如果您在代码中手动设置 Text 属性,请使用级联运算符来验证您没有提交 null价值。

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

【讨论】:

    猜你喜欢
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多