2011-04-11 44 views
0

如何在asp.net按鈕上通過javaScript暫停回發過程,並在某些任務完成後繼續?我可以在asp.net按鈕上暫停回發,並在某些任務完成後繼續嗎?

喜歡的東西:

btnRemove.Attributes["onclick"] = string.Format(@" 

var itemId=$.trim($('#{0}').val());        

// stopPostBack() somehow 

// do some stuff with itemId 

// continue post-back 

", txtMyTextBox.ClientId); 
+0

取決於 - 你想用'itemId'做什麼? – 2011-04-11 11:57:27

+0

其實我的問題是,選擇速度足夠慢,無法處理;以便在選擇相關文本框之前進行回發。 (我刪除了String.Format部分btw) – pencilCake 2011-04-11 11:59:10

+0

什麼選擇?什麼文本框?仍然不清楚,對不起..:/ – 2011-04-11 12:03:50

回答

0

是的,我想了一招,你可以做到這一點。

只需返回false,以避免回發,初始化一個計時器來調用下一個函數來完成工作,並在最後手動啓動回發。

0

是的,你只需要從javascript onclick事件返回false。

如:

<asp:LinkButton ID="btnDelete" runat="server" 
               CommandArgument='<%# DataBinder.Eval(Container,&#13;&#10;"RowIndex") %>' 
               CommandName="Delete" Text="Delete" 
               onclientclick="return confirm('Are you sure you want to delete this Connection?');" 
               ToolTip="Delete the connection" /> 
2

所有的onClick()事件代碼提交前處理。如果onClick事件處理程序返回false,則該事件將執行代碼,然後無法提交。如果它返回true,它將執行代碼,然後提交。

我不認爲你需要「停止」回傳。只需在返回true之前放置所需的代碼,並在提交之前執行。

例子:

btnRemove.Attributes["onclick"] = @" 

var itemId=$.trim($('#{0}').val()); 

alert(itemId); 

return true; 

"; 

這裏的alert()將提交之前執行。

+0

+1這也是正確的。 – Aristos 2011-04-11 12:04:46

相關問題