Я искал решение этой проблемы последние несколько часов, но безрезультатно. Когда я нажимаю на кнопку с возвращаемым значением false в OnClientClick, обратная передача на сервер не происходит. Когда я использую 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>
Чтобы ответить на некоторые вопросы, которые были заданы ... У меня есть пользовательский элемент управления. Это кнопка прокрутки, использующая два изображения и скрытую кнопку для вызова сервера. Кнопка использует Reflection для включения любого указанного обработчика OnClick для вызова функции на конкретной странице, на которой находится элемент управления. OnClientClick также используется для предоставления дополнительных действий Javascript, если они мне нужны. Все работало нормально, когда была подключена невидимая, но нажимаемая кнопка. Я решил сделать кнопку действительно невидимой и даже не отображать ее, но для этого потребовалось, чтобы изображения фактически инициировали событие нажатия кнопки.