私は次のコードを持っています:
<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 に戻って何も送信しないと、検証は行われません。
ありがとう