簡體   English   中英

使用Asp.Net的OnClick / OnClientClick事件

[英]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事件。 我已經使用了OnClickOnClientClick事件,如下所示,但它沒有工作,我沒有收到任何錯誤。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM