0

私は次のコードを持っています:

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnSave" EventName="Click" />
    </Triggers>
    <ContentTemplate>
        <asp:Button ID="btnSave" runat="server" Text="Submit"/>
        <asp:Panel ID="pnlMyView" runat="server">
            <asp:GridView Control here...
        </Panel>
            <asp:Panel ID="pnlInfo" runat="server" Visible="False">
                 <div>
                     Some information...
                 </div>
        </Panel>
    </ContentTemplate>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
    <ProgressTemplate>
        Update in progress...
    </ProgressTemplate>
</asp:UpdateProgress>

<script language="javascript" type="text/javascript">
$(window).load(function() {
    $("input:submit[id$='btnSave']").click(function() {
    //jQuery code to validate gridview enteries...
})
});
</script>

手順:

1.ページを更新するか、最初にページをロードし、[送信] ボタンをクリックして GridView のエントリを検証します。

2.検証が適切に行われ、変更がデータベースに保存されます。

3. グリッドビュー エントリにいくつかの変更を加え、[送信] ボタンをクリックしました

4.検証が行われず、データベースにエントリ (つまり、間違ったエントリ) が保存されました。

5. ページを更新します。つまり、F5 キーを押します。これですべて正常に動作します。

ステップ 4 の問題を解決する方法。

-----------------追伸----------------

実際には、pnlMyView と pnlInfo の 2 つのパネルがあります。一度 pnlInfo に移動し、pnlMyView に戻って何も送信しないと、検証は行われません。

ありがとう

4

3 に答える 3