Если вы спрашиваете, как использовать серверный код, чтобы сообщить клиенту об открытии окна браузера, вы не сможете.Код на стороне сервера не может сказать клиенту сделать это.Единственное, что вы сможете сделать из кода на стороне сервера, это выполнить на стороне клиента, который делает это.И в таком случае зачем вообще использовать код на стороне сервера?
Используя, например, jQuery, вы можете прикрепить событие click следующим образом:
<!-- page header (including loading jQuery), other stuff that's before the image, etc. -->
<img src="/path/to/image" alt="some text" id="imgOpenWindow" />
<!-- the rest of the page -->
<script type="text/javascript">
$(document).ready(function() {
$('#imgOpenWindow').click(function(){
window.open('http://www.themagicfinger.com/');
});
});
</script>
Если по какой-то причине вы нужно , чтобы использовать ImageButton
элемент управления для этого, тогда это выглядело бы так:
<!-- page header (including loading jQuery), other stuff that's before the image, etc. -->
<asp:ImageButton run="server" id="imgOpenWindow" ImageUrl="/path/to/image" AlternateText="some text" />
<!-- the rest of the page -->
<script type="text/javascript">
$(document).ready(function() {
$('#<%= imgOpenWindow.ClientID %>').click(function(){
window.open('http://www.themagicfinger.com/');
});
});
</script>
Но я не уверен, что будет с постбеком.Он может переопределить обработчик JavaScript (путем обратной отправки перед выполнением вашего обработчика) или обратной обратной связи после открытия окна и т. Д. Я считаю, что такое поведение не определено и ненадежно.Тем не менее, элемент управления Image
справится с задачей, если вам не нужны возможности пост-возврата кнопки.