2010-05-02 34 views
0

我在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都会更新。

  1. NAMEA
  2. DescriptionA
  3. BodyA

但是,如果我不作出说明的变化,身体不更新。

  1. NameAB
  2. DescriptionA
  3. BodyA(本来应该BodyAB)

如果我只有做出改变成体的未更新。 如果我只更改名称,它会更新。

这是非常奇怪的行为。通过域服务跟踪代码我看到更改后的记录具有正确的更改 - 就旧记录而言,它只包含ID而其他所有内容都为空,这可能是设计的,但我没有花太多时间调试域服务层。

任何想法?

回答

0

我有一个这样的错误在RC1中的复选框,这个错误实际上是在选择更改后的代码。采用RIA提供的数据绑定技术的一个很好的理由。