あなたが持っているものを保持し、プロパティも設定してくださいUseSubmitBehavior="false"
。これにより、ボタンは組み込みのブラウザー メカニズムではなく、asp.net ポストバック メカニズムを使用するようになります。
詳しくはこちら
編集
標準のブラウザーは、コントロールをクリックすると常にフォームを送信します<input type="submit">
(これは、 を使用したときに HTML にレンダリングされるものです<asp:Button>
)。ASP.NET はこの機能を使用して、サーバーへのポストバックを開始します。
あなたが抱えている問題は、ボタンが無効になっている場合 (JavaScript で行っているように)、ブラウザーがフォームを送信しない(つまり、ポストバックが発生しない) ことです。
属性UseSubmitBehavior="false"
を使用することで、ブラウザが自分で送信できるという事実を無視するように ASP.NET に指示し、代わりに、ASP.NET が提供する JavaScript ポストバック メソッド (などに使用されるメソッドと同じメソッド) をボタンで使用する必要がありAutoPostback="true"
ます<asp:Checkbox>
。 .
JavaScript ポストバックは、コントロールを無効に設定したという事実を無視します。つまり、コントロールは画面上で無効になりますが、ポストバックは引き続き発生します。
それが理にかなっていることを願っています