0

DetailView の一部ではない別のボタンから編集モードの詳細ビューを保存する方法はありますか? つまり、編集モードで [保存] または [更新] ボタンがある詳細ビューがありますが、ユーザーが [保存] ボタンをクリックするのを忘れて、ページの下部にある別のボタンをクリックするだけです。他のボタンをクリックしたときに、DetailView に入力したデータが最初に保存されるようにしたいと考えています。私はこのコマンド名を持っています:

<EditItemTemplate>
                        <asp:Button ID="Button1" runat="server" CausesValidation="True" 
                            CommandName="Update" Text="Save Changes" />
                        &nbsp;<asp:Button ID="Button2" runat="server" CausesValidation="False" 
                            CommandName="Cancel" Visible="false" Text="Cancel" />

                    </EditItemTemplate>

                    <ItemTemplate>
                        <asp:Button ID="Button1" runat="server" CausesValidation="False" 
                            CommandName="Edit" Text="Save Changes" />
                    </ItemTemplate>  

これはあなたの提案の後に私がしたことです:

4

1 に答える 1

1

クリックする他のボタンに応じて、動作する可能性のある 1 つの方法は、アクションを実行する前に、他のボタンで更新ボタンをクリックすることです。ただし、他のボタンがサーバーにポスト バックする場合、いずれかが正しく機能しない可能性があります。

他のボタンが asp:Button の場合は、次のタグを追加できます (javascript を追加しているため、Button1 のクライアント ID を取得する必要があることに注意してください。方法を思い出せないため、通常はプレフィックスを使用してこれを行います)。サーバータグ内の ClientID を取得するには):

OnClientClick="document.getElementById('MainContent_DetailsView2_Button1').click();"

ASP は、親コントロール内にネストされた一意の ID を自動的に作成するため、このプレフィックスが必要です。

于 2012-11-30T03:26:26.627 に答える