2010-05-02 7 views
0

J'ai quelques formes simples dans Silverlight 4 en utilisant WCF RIA RC2 Domain Services.Services de domaine soumettre problème

Tous mes formulaires semblent fonctionner très bien, je suis allé avec le code traditionnel derrière pour le contrôle granulaire et le formatage.

Le problème que je rencontre est sur une forme particulière que les données ne sont mises à jour que si je mets à jour l'un des autres champs.

Voici mon code.

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"; 
     } 
    } 

Si je tape un changement permet de dire ajouter un 'A' à chaque champ, Nom, Description, Body - tous les 3 sont mis à jour.

  1. nomA
  2. DescriptionUn
  3. Bodya

Mais si je ne faites pas un changement dans la description, du corps est pas mis à jour.

  1. NameAB
  2. DescriptionUn
  3. Bodya (qui aurait été BodyAB)

Si je fais seulement un changement dans son corps pas mis à jour. Si je fais seulement un changement dans le nom, il est mis à jour.

Ceci est un comportement très bizarre. Traçant le code vers le bas par le service de domaine je vois l'enregistrement changé avoir les changements corrects - en ce qui concerne l'ancien enregistrement il contenait juste l'ID et tout le reste était nul, c'est probablement par conception mais je ne passe pas beaucoup de temps à débugger les services de domaine couche.

Des idées?

Répondre

0

J'ai eu un bug comme celui-ci avec les cases à cocher dans RC1, ce bug était en fait dans le code changé de sélection. Une bonne raison d'adopter les techniques de liaison de données qu'offre RIA.

Questions connexes