2013-06-05 52 views
0

我是JQuery Mobile的新手,所以請原諒我這個可能很容易的問題。jQuery Mobile按鈕點擊事件不起作用

我有一個按鈕:

<a id="btnSort" href=# data-role="button" 
       runat="server" onclick="Click_btnSort">Sort</a> 

和代碼隱藏事件處理程序:

protected void Click_btnSort(object sender, EventArgs e) 
     { 
      ... 
     } 

我有這個方法的開頭設置一個斷點,但它不火的時候,我點擊按鈕。

PS。我沒有使用任何字段驗證器。

有什麼建議嗎?

+0

你好。抱歉,這個「保護無效Click_btnSort(對象發件人,EventArgs e)」不是JavaScript。你想運行什麼? –

+0

'Sort' 順便說一下,您的JavaScript在JavaScript中的定義是什麼? –

+0

@AurelioDeRosa是ASP.NET和C#。 – MrCode

回答

2

您的事件發生nog觸發的原因是因爲您使用了html a元素,該元素不會觸發回發(當您將元素autopostback proerty設置爲true時,可能會發生,不知道這是否適用於a-元件)。

當你想在後面的代碼中使用ASP.NET按鈕點擊事件(點擊時做服務器端的東西),你最好使用ASP:Button或LinkBut​​ton元素,它可以直接使用。

當你想使用一個客戶端點擊事件(例如使用jQuery,點擊時做客戶端的東西),你可能會更好,添加事件偵聽器的元素是這樣的:

$(document).on('click', '#btnSort', function() { 
// client side stuff here 
}); 

編輯:

看到這個基本的客戶端事件綁定與jQuery。如果這不很熟悉,請閱讀關於JavaScript/jQuery的基礎知識,這將是值得

http://jsfiddle.net/6mYQN/1/

1

由於<a>標籤是不相關的服務器端時間控件,所以我想也不會發生這樣的方式。

即使你的代碼在服務器上運行仍然會在javascript函數中尋找Click_btnSort沒有代碼後面的代碼,所以你應該在腳本/ JavaScript標記中添加一個函數,你將在onclick事件中調用該名稱。

0

儘管這是一個老帖子,你可以做的是創造一個

<asp:Button ID="btnServerSort" style="display:none;" runat="server" Text="SORT" OnCommand="Click_btnServerSort" ..> 

與相關的服務器端事件。

然後修改代碼如下

<a id="btnSort" href=# data-role="button" data-ajax="false" runat="server" onserverclick="Click_btnServerSort" >Sort</a> 

我希望這有助於。