2010-05-02 36 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提供的數據綁定技術的一個很好的理由。