1. ホーム
  2. javascript

[解決済み] __doPostBack() はポストバックを引き起こすが、aspx ページでボタンのクリックイベントを呼び出さない

2022-02-15 13:38:05

質問

私はボタンがあるaspxページを使っています。

 <asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" Style="display: none" />

ポストバックさせるには、以下の2つの方法があります。

 $(document).ready(function () {
               var id = document.getElementById('<%= savebtn.ClientID %>');
       //Cause post back & calls page load but not savebtn_Click event
            __doPostBack('<%= savebtn.ClientID  %>', 'OnClick');

    });

    $(document).ready(function () {
                     var id = document.getElementById('<%= savebtn.ClientID %>');
           //Cuase postback & calls both PageLoad and savebtn_Click events.
           //If I use method, There is no way to know which control caused postback
            id.click();

    });

doPostBackを使用すると、ページロードイベントは呼び出されますが、ボタンクリックイベントは呼び出されません。

doPostBackを使用して、savebtn_Clickイベントと同様にページロードをトリガーする方法はありますか。

上記のように id.click(); を使用すると、savebtn_Click を呼び出すことができますが、どのコントロールがポストバックを引き起こしたかはわかりません。

どうすればいいですか?

を使ってみましたか? ユニークID の代わりに クライアントID ?

__doPostBack('<%= savebtn.UniqueID %>', "");

これも見てください クイックチュートリアル をdopostbackに掲載しました。