Bonjour à tous,

Je suis nouveau sur le forum. Je viens solliciter votre aide car cela fait un moment que je suis bloqué sur un problème. Le voici:

Dans ma page asp, j'ai deux entityDataSource que voici:
- la première permet de remplir mon tableau obout:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<asp:EntityDataSource ID="EntityDataSource1" ContextTypeName="RichDataBusinessApplication.Web.RichDataEntities" EnableFlattening="false" EnableInsert="true" 
        EnableUpdate="true" EnableDelete="true" EntitySetName="UserInformations" runat="server" />
Mon tableau obout se trouve dans un update panel. Jusque là tout va bien.
Quand je veux éditer une ligne de mon tableau obout, je fais appel à cette méthode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 protected void Button_Command(object sender, CommandEventArgs e)
 {
      SelectedUserHiddenField.Value = e.CommandArgument.ToString();
      UsersCustomerDetailsView.ChangeMode(DetailsViewMode.Edit);
      OpenPopupDialog(String.Format("#{0}", UpdatePopupPanel.ClientID));
 }
La fonction OpenPopupDialog ouvre une popup jquery dialog avec les infos de mon utilisateurs que je peux éditer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
 <asp:Panel ID="UpdatePopupPanel" runat="server" CssClass="popup-dialog">
        <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
               <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="UsersGrid" EventName="Select" />
               </Triggers>
               <ContentTemplate>
                    <asp:DetailsView runat="server" ID="UsersCustomerDetailsView" DataSourceID="SelectedUserDataSource2" DefaultMode="Edit" AutoGenerateEditButton="true" AutoGenerateRows="false"
OnItemUpdating="UserDetailsView_ItemUpdating" OnItemUpdated="UserDetailsView_ItemUpdated"
OnItemCommand="UserDetailsView_ItemCommand"
DataKeyNames="UserId" Width="100%">
                        <Fields>
                              <asp:TemplateField>
                                     <HeaderTemplate>
                                             <uc:CulturalLabel ID="CulturalLabel1" runat="server" Text="Lastname" />
                                     </HeaderTemplate>                     
                                     <EditItemTemplate>
                                           <asp:TextBox ID="LNameTextBox" runat="server" Text='<%# Bind("Lastname") %>' CssClass="textEntry" ValidationGroup="CoordonneValidationGroupUp"/>
                                           <asp:RequiredFieldValidator ID="CustomRequieredValidator2" runat="server" ControlToValidate="LNameTextBox" CssClass="failureNotification" ErrorMessage="test" ValidationGroup="CoordonneValidationGroupUp">*</asp:RequiredFieldValidator>
                                     </EditItemTemplate>
                              </asp:TemplateField>
                         </Fields>
                   </asp:DetailsView>
            </ContentTemplate>
     </asp:UpdatePanel>
</asp:Panel>
La deuxième entityDataSource qui permet de remplir les champs de mon popup de ma detailsview est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<asp:EntityDataSource ID="SelectedUserDataSource2" ContextTypeName="RichDataBusinessApplication.Web.RichDataEntities" EnableFlattening="false" EnableInsert="true" EnableUpdate="true" EnableDelete="true" EntitySetName="UserInformations" runat="server" AutoGenerateWhereClause="True">
      <WhereParameters>
            <asp:ControlParameter Name="UserId" ControlID="SelectedUserHiddenField" DbType="Guid" PropertyName="value" />
      </WhereParameters>
</asp:EntityDataSource>
Lorsque je clic sur le bouton update de mon popup j'appel l'événement OnItemUpdating de ma detailsview qui est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
protected void UserDetailsView_ItemUpdating(Object sender, DetailsViewUpdateEventArgs e)
{
            Page.Validate("CoordonneValidationGroupUp");
            if (Page.IsValid)
            {
                //code a éxecuter si page valide
            }
             else
             {
                e.cancel = true;
             }
}
Le problème est le suivant, quand ma page n'est pas valide car le lastname n'est pas saisi, il exécute bien le code "e.cancel=true" mais au lieu de m'afficher "*" à coté du champs, il affecte la valeur du champ avec la valeur de la première ligne dans ma base de données.
Par exemple, je veux éditer le lastname de Pierre, je l'efface, je clic sur update il me fait le e.cancel et réaffecte le champs lastname par Jean qui est la première ligne dans ma base de données.

Merci d'avance pour votre aide!