2013-07-26 212 views
7

我在DIV的onclick上有一個基本的URL重定向。從div onclick調用ASP.net函數/方法

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

當點擊這個div時,我需要做一些工作服務器端,而不僅僅是一個重定向。

如何從DIV onclick函數中調用我的代碼之一? DIV是用戶控件中的父控件。我想我可以通過使用一個文字控件並在onclick中寫入一個查詢字符串來「修復」它,但是我會用它作爲最後的手段,因爲我不想使用查詢字符串。

是否有任何其他方式捕捉DIV點擊後面的代碼,我可能錯過了?

+1

我的猜測是將div onclick事件的JQuery函數鏈接到服務器端的啓用Ajax的web服務。 – Recipe

+0

是__doPostBack你在找什麼? – Naoe

回答

17

你可以有一個按鈕,其顯示可以是'無'。 在客戶端處理點擊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%> 「);沒有爲我工作,所以必須替換爲var btnHidden = document.getElementById('btnHidden');;不知道如果getElementById是最好的選擇,希望它可以幫助某人 –