0

FormViewで使用しているObjectDataSourceがあり、正常に動作しますが、1つ小さな変更を加えたいと思います。FormViewで、更新を起動するボタンのCommandName属性が「Update」に設定されていますが、その属性を「Update」以外に変更したいのですが、その属性を変更すると、更新が機能しなくなります。これを実行したい理由は、同じページに複数の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>  
4

1 に答える 1

3

各 FormView には、更新を処理するための独自のイベントがあるため、異なる FormView で CommandName が同じであっても問題はありません。

問題がある場合は、テキスト値を変更してボタンの名前を変更できます。

于 2009-09-27T01:33:21.047 に答える