2013-07-26 2 views
7

У меня есть основной URL-адрес перенаправления на onclick DIV.Вызов функции/метода ASP.net из div onclick

<div onclick="location.href = 'page.aspx';"> 

Мне нужно сделать некоторую рабочую серверную часть, а не просто перенаправление, когда щелкнуть это Div.

Как мне назвать один из моих кодов за функциями из DIV onclick? DIV является родительским элементом управления внутри usercontrol. Я полагаю, что могу «исправить» его, используя литеральный элемент управления и введя строку запроса в onclick, но я бы использовал это как последнее средство, поскольку я не хочу использовать строку запроса.

Есть ли другие способы ловли щелчка DIV в коде, за которым я, возможно, пропустил?

+1

Мое предположение было бы функцией JQuery в событии div onclick, которое связано с веб-сервисом с поддержкой Ajax на сервере. – Recipe

+0

Is __doPostBack что вы ищете? – Naoe

ответ

17

У вас может быть кнопка, отображение которой может быть «none». Обращайтесь с кликом Div на стороне клиента, а затем оттуда выстрелите в Щелчок этой кнопки и обработайте мышью на стороне сервера в событии Click кнопки.

<asp:Button runat="server" id="btnHidden" style="display:none" onclick="btnHidden_OnClick" /> 
<div onclick="javascript:DivClicked(); return true;"></div> 

<script> 

function DivClicked() 
{ 
    var btnHidden = $('#<%= btnHidden.ClientID %>'); 
    if(btnHidden != null) 
    { 
     btnHidden.click(); 
    } 
} 

</script> 
+0

Это в значительной степени то, что я задаю в своем вопросе. :-) –

+0

всегда использует 'ClientID', поскольку элемент управления может быть обернут любым другим элементом управления (GridView, ContentPlaceHolder, List и т. Д.) – balexandre

+2

Спасибо, но var btnHidden = $ ('# <% = btnHidden.ClientID%> «); didnt работал для меня, поэтому пришлось заменить для var btnHidden = document.getElementById ('btnHidden') ;, не уверен, что getElementById - лучший вариант, надеюсь, что это поможет кому-то –

Смежные вопросы