過去数時間、これに対する解決策を探しましたが、役に立ちませんでした。OnClientClick で false を返すボタンをクリックすると、サーバーへのポストバックは発生しません。jquery を使用してボタンのクリック機能をトリガーすると、OnClientClick が最初に起動しますが、戻り値に関係なく、ポストバックが発生します。ここに簡単なサンプルがあります...
k...問題をより正確に示すコードを配置します。取り乱してすみません…
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script src="script/jquery-1.4.2.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<img onclick="$('#Button1').click();" runat="server" width="100" height="100" style="border:solid 1px black" /><br />
<asp:Button ID="Button1" OnClick="Button1_Click" OnClientClick="return false;" runat="server" Text="Button" />
</div>
</form>
</body>
</html>
尋ねられたいくつかの質問に答えるために...私はユーザー コントロールを持っています。これは、2 つの画像を使用したロールオーバー ボタンと、サーバーを呼び出す非表示のボタンです。ボタンは Reflection を使用して、指定された OnClick ハンドラーを有効にして、コントロールが配置されている特定のページで関数を呼び出します。OnClientClick は、必要に応じて追加の Javascript アクションを提供するためにも使用されます。目に見えないがクリック可能なボタンを直接配線すると、すべてが正常に機能していました。ボタンを完全に非表示にし、表示すらしないことにしましたが、そのためには実際に画像がボタンに対してクリック イベントを発生させる必要がありました。