c# - 加载空字符串和 Silverlight 4

标签 c# silverlight service ria

我维护一个 Silverlight 4 应用程序。当我不在办公室时,数据库结构发生了变化,删除了一个表,并将其字段合并到另一个现有表中。现在,我在创建新项目并进入其“摘要”屏幕后收到以下错误:

“值不能为空。参数名称:文本 在 System.Windows.Controls.TextBox.set_Text(字符串值)”

这只会发生在新创建的条目上,而不是下一个屏幕上信息完整的旧条目(数据从 Excel 电子表格转换并加载到数据库中)。所以,我已经缩小了范围:用于创建新记录的子窗口没有添加到表中的所有字段,因为在创建记录时某些信息不可用。谷歌搜索发现空字符串不能在 Silverlight 中传递。

摘要屏幕是通过 ddsSummaryLoadedData 域服务加载的。如果我不包括"new"字段,则不会为现有条目加载值,但新条目不会导致错误。如果我确实包含它们,则旧条目会正确加载,但新条目会出现上述错误。

是否有一种变通方法可以在需要时创建空字段,但如果存在数据(对于较旧的条目)仍会加载数据?或者子窗口是否需要重新设计?我是 Silverlight 的新手,还有很多东西要学!

最佳答案

看起来您没有使用绑定(bind)来呈现您的 View ,否则 null 值将得到妥善处理,因此如果您在代码中手动设置 Text 属性,请使用级联运算符来验证您没有提交 null值(value)。

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

关于c# - 加载空字符串和 Silverlight 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5625295/

相关文章:

c# - 测量 C# 代码的可测试性

c# - 不确定如何使用 Web 服务发送复杂数据

silverlight - 在新选项卡中打开 Silverlight 窗口

service - 构建可配置的用户通知服务

java - 如何使用 putExtra() 传递具有不同值的相同数据

symfony - 将 Doctrine Repository 注入(inject) Controller

c# - 连一个简单的方法都无法内联(?)

c# - 将列表中的每个元素与其他元素进行比较

silverlight - Silverlight媒体播放停止状态

silverlight - Silverlight 4 中缺少 System.Windows.Interactivity - mvvm light 教程