[英]Asp.net OnClick event and OnClientClick event used together
[英]OnClick/OnClientClick event with Asp.Net
我有點困惑使用這個腳本,它實際上是如何工作的?
這是我的腳本:
<script type="text/javascript">
$(document).ready(function () {
$('#<%=TextBox1.ClientID%>').change(function () {
$('#various3').attr('href', $(this).val());
});
$("#<%=Button1.ClientID%>").click(function (event) {
setTimeout(showStickySuccessToast, 1000);
function showStickySuccessToast() {
$().toastmessage('showToast', {
text: 'Finished taking Screenshot!',
sticky: false,
position: 'middle-center',
type: 'success',
closeText: '',
close: function () {
}
});
}
})
});
</script>
這是我的按鈕:
<a id="various3" href="#"><asp:Button ID="Button1" runat="server"
Text="Button" OnClientClick="Button1_Click"/></a>
這是我的button1_Click事件背后的代碼:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim NewTh As New Threading.Thread(AddressOf DoIT)
NewTh.SetApartmentState(Threading.ApartmentState.STA)
NewTh.Start()
ImgPreview.ImageUrl = "~/uploads/Sample.jpg"
End Sub
現在,如果我點擊按鈕,它應該打開iframe並顯示我能夠做的消息。 現在問題是我如何同時調用代碼隱藏中的button1_Click事件。 我已經使用了OnClick
和OnClientClick
事件,如下所示,但它沒有工作,我沒有收到任何錯誤。
Onclick
=引發回發,執行服務器事件處理程序。
OnClientClick
=引發一個客戶端點擊事件,你可以調用一個javascript函數,但你不能直接處理一個asp事件,雖然在調用javascript函數后發生回發。
看起來你有倒退的事情:
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" />
上面的示例假定Button1_Click
是代碼隱藏的單擊事件處理程序。 由於您在jQuery中分配客戶端單擊事件,因此您根本不需要使用OnClientClick
。
編輯
我會檢查以確保驗證不會與點擊相關。 您可以通過在Button上設置CausesValidation="false"
來測試它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.