J'ai un problème sur mon site web où j'ai 2 objets en session, les deux objets sont structurés différemment et n'ont aucun lien les uns avec les autres (pas intentionnellement). Les deux objets ont cependant une collection de "Voyageurs". Ce que j'essaye de faire est de modifier une collection en ajoutant ou en supprimant "Voyageurs", quand un bouton de finition est cliqué, la collection modifiée sera alors enregistrée dans l'autre objet.Mise à jour 1object semble également mettre à jour un autre. VB.Net
Le problème est que, pour une raison quelconque, lorsque je modifie une collection dans un objet, les modifications sont également apportées à la collection dans l'autre objet.
Voici un exemple grossier:
Dim bookingContext As BookingContext = Session("BookingContext")
Dim personSearchContext As PersonSearchContext = Session("PersonSearchContext")
Dim personId As Integer = Request.Form("PersonID")
Dim mode As String = Request.Form("Mode")
Select Case mode
Case "Add"
For Each traveller As PersonProfile In personSearchContext.Travellers
If traveller.PersonID = personId Then
personSearchContext.SelectedTravellers.Add(traveller)
Exit For
End If
Next
context.Session("PersonSearchContext") = personSearchContext
Case "Remove"
For Each traveller As PersonProfile In personSearchContext.SelectedTravellers
If traveller.PersonID = personId Then
travellerSearchContext.SelectedTravellers.Remove(traveller)
Exit For
End If
Next
context.Session("PersonSearchContext") = personSearchContext
Case "Save"
bookingContext.Travellers = personSearchContext.SelectedTravellers
context.Session("BookingContext") = bookingContext
End Select
La question est la collection Les voyageurs dans l'objet « BookingContext » est mis à jour quand j'ajouter et supprimer de la collection dans les « PersonSearchContext ». C'est comme s'il y avait une sorte de lien ou de pointeur entre eux.
Des idées?
Cheers.
Fantastique! Cela a du sens quand on y pense. Mon code ne fonctionne pas, Cheers mate. – DazzledKid