我在Silverlight 4中使用WCF RIA RC2域服务有一些简单的表单。
我的所有表单似乎都运行良好,我使用传统代码进行细粒度控制和格式化。
我遇到的问题是在一个特定的表单上数据没有更新,除非我更新其他字段之一。
这是我的代码。
void ConfirmSave_Closed(object sender, EventArgs e)
{
if ((bool)ConfirmSave.DialogResult)
{
_New = false;
tblEmailTemplate Selected = (tblEmailTemplate)lstEmailTemplates.SelectedItem;
Selected.Name = txtName.Text;
Selected.Description = txtDescription.Text;
Selected.Body = txtBody.Text;
Selected.ModifiedBy = Security.DomainUserName;
Selected.ModifiedOn = DateTime.Now;
Selected.Body = txtBody.Text;
DataStore.SubmitChanges();
Dialogs.ConfirmationDialog Added = new Dialogs.ConfirmationDialog(Selected.Name + " has been saved.", "Email Template Saved");
Added.Show();
lstEmailTemplates.ItemsSource = DataStore.tblEmailTemplates;
lstEmailTemplates.DisplayMemberPath = "Name";
}
}
如果我输入更改,我们可以在每个字段中附加一个“A”,名称,描述,正文 - 所有3都会更新。
但是如果我没有对描述进行更改,Body就不会更新。
如果我只更改Body而不更新。 如果我只对名称进行更改,则会更新。
这是非常奇怪的行为。通过域服务跟踪代码我看到更改的记录有正确的更改 - 只要旧记录它只包含ID而其他一切都是null,这可能是设计但我不花太多时间调试域服务层
有什么想法吗?
答案 0 :(得分:0)
我有一个像RC1中的Check Boxes这样的bug,这个bug实际上是在选择更改的代码中。采用RIA提供的数据绑定技术的一个很好的理由。