2009-09-27 13 views
0

J'ai une ObjectDataSource que j'utilise avec un FormView, et cela fonctionne bien, mais je veux changer une petite chose. Sur FormView, le bouton qui déclenche la mise à jour a l'attribut CommandName défini sur "Update", mais je souhaite changer cet attribut en autre chose que "Update". Lorsque je modifie cet attribut, la mise à jour ne fonctionne plus. La raison pour laquelle je veux faire ceci est que j'ai plusieurs FormViews sur la même page et que j'ai besoin de plusieurs boutons de mise à jour. Ci-dessous mon code:ASP.NET ObjectDataSource, changez la propriété CommandName du bouton FormView

FormView:

  <asp:FormView ID="fvGeneralInfo" runat="server" 
      DataSourceID="objInstructorDetails" CssClass="Gridview" 
      OnItemCommand="fvGeneralInfo_ItemCommand" 
      DefaultMode="Edit"> 
      <EditItemTemplate> 
      <table> 
       .... 
        <tr> 
         <td style="text-align:right;"> 
          <asp:Label runat="server" ID="lblGeneralInfoMessage" Text="General Info updated successfully" Visible="false" /> 
         </td> 
         <td> 
          <asp:Button runat="server" ID="btnUpdateGeneralInfo" ValidationGroup="UpdateGeneralInfo" Text="Update" CommandName="Update" /> 
          <asp:Button runat="server" ID="btnCancelGeneralInfo" Text="Cancel" CommandName="CancelGeneralInfo" /> 
         </td> 
        </tr> 
       </table> 
      </EditItemTemplate> 
     </asp:FormView> 

ObjectDataSource:

<asp:ObjectDataSource ID="objInstructorDetails" runat="server" TypeName="AIMLibrary.BLL.Instructor" SelectMethod="GetInstructorDetails" 
InsertMethod="InsertInstructor" UpdateMethod="UpdateInstructor" OnInserting="objInstructorDetails_OnInserting" 
OnUpdating="objInstructorDetails_OnUpdating" >   
    <SelectParameters> 
     <asp:QueryStringParameter Name="InstructorId" QueryStringField="InstructorId" /> 
    </SelectParameters> 
    <UpdateParameters> 
     <asp:Parameter Name="instructorId" Type="Int32" /> 
     <asp:Parameter Name="firstName" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="middleName" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="lastName" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="phone" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="email" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="addressLine1" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="addressLine2" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="city" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="state" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="zip" Type="String" DefaultValue="" /> 
     <asp:Parameter Name="abcBoardNumber" Type="String" DefaultValue="" /> 
    </UpdateParameters> 
</asp:ObjectDataSource> 

Répondre

3

Chaque FormView aura son propre événement pour le traitement des mises à jour de sorte que le CommandName étant les mêmes pour les différents FormViews ne devrait pas être problème.

Vous pouvez changer le nom des boutons si c'est un problème en changeant sa valeur de texte.