Bonjour,
j'ai un problème car aucun évènement n'est généré lors de mon click sur la commande "Insert" d'un Detailsview (le update marche bien, mais le Insert ne fait rien si ce n'est le postback mais je n'arrive pas à catcher l'évènement).

J'utilise un ObjectDataSource :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<asp:ObjectDataSource ID="SupplierDetailDataSource" UpdateMethod="UpdateSupplier" runat="server"  SelectMethod="GetSupplierById" TypeName="BusinessLogicLayer.Business.Supplier" DataObjectTypeName="BusinessLogicLayer.Business.Supplier" InsertMethod="CreateSupplier">
        <SelectParameters>
            <asp:ControlParameter ControlID="GridView1" Name="idSupplier" PropertyName="SelectedValue"
                Type="Int32" />
        </SelectParameters>
    </asp:ObjectDataSource>
Pour le DétailView, voilà le code (j'ai un link button qui permet de l'afficher en mode Insert) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<asp:DetailsView AutoGenerateInsertButton="True" AutoGenerateEditButton="True" DefaultMode="Edit" ID="DetailsView1" runat="server" DataSourceID="SupplierDetailDataSource" AutoGenerateRows="False">
      <Fields>
          <asp:BoundField DataField="IdSupplier" HeaderText="IdSupplier" SortExpression="IdSupplier" ReadOnly="true" />
          <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
          <asp:CheckBoxField DataField="Active" HeaderText="Active" SortExpression="Active" />
      </Fields>
  </asp:DetailsView>
Comme rien ne se passait après le click sur Insert (si ce n'est le postback), j'ai ajouté au DetailsView1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<asp:DetailsView AutoGenerateEditButton="True" AutoGenerateInsertButton="True" OnItemInserting="DetailsView1_OnItemInserting" DefaultMode="Edit" ID="DetailsView1" runat="server" DataSourceID="SupplierDetailDataSource" AutoGenerateRows="False">
Pourtant cette fonction n'est jamais appellée.
J'ai aussi essayé (après avoir enlevé la modification ci-dessus), de mettre cet évènement sur l'ObjectDataSource :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<asp:ObjectDataSource ID="SupplierDetailDataSource" OnInserting="Datasource_OnItemInserting" UpdateMethod="UpdateSupplier" runat="server"  SelectMethod="GetSupplierById" TypeName="BusinessLogicLayer.Business.Supplier" DataObjectTypeName="BusinessLogicLayer.Business.Supplier" InsertMethod="CreateSupplier">
(...)
Là non plus, la fonction n'est pas appellée...

A noter qu'aucun des contructeurs de l'objet Supplier n'est appellé non plus lors du clic sur Insert...

Voilà, j'en appelle donc à la communauté pour me filer un coup de main!!!

Merci par avance,
Mobyspy