2013-10-31 61 views
2

對不起,如果我的英語很差。Alertify在asp.net c#頁面

我有一個問題,我認爲這個問題是我對javascript的可憐知識,但是..我知道你可以幫我解決這個問題。

我有一個圖像按鈕的頁面,我用它來刪除數據,我需要一個確認對話框。 Alertify是可愛的,我在服務器端使用altertify警報是這樣的:

string myScript2 = "alertify.error('message.')"; 
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), 
       Guid.NewGuid().ToString(), myScript2, true); 
return; 

和工作正常!

但我不明白如何使用alertify.confirm。

例如我用

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script type="text/javascript" src="../../js/alertify.min.js"></script> 
    <!-- include the core styles --> 
<link rel="stylesheet" href="../../js/alertify.core.css" /> 
    <!-- include a theme, can be included into the core instead of 2 separate files --> 
<link rel="stylesheet" href="../../js/alertify.default.css" /> 
<script type="text/javascript"> 
     $("#btElimina").on('click', function() { 
      alertify.confirm("This is a confirm dialog", function (e) { 
       if (e) { 
        alertify.success("You've clicked OK"); 
       } else { 
        alertify.error("You've clicked Cancel"); 
       } 
      }); 
      return false; 
     }); 
    </script> 

,但沒有做......我不能使用的OnClientClick因爲alertify是無阻塞的,而不是一個模態窗口... 你能幫助我理解?不寫代碼,對我來說,瞭解並讓我活 謝謝

亨利

回答

1

更換alertify.success("You've clicked OK");return true;alertify.error("You've clicked Cancel");return false;

而且改變這一點:

$("#btElimina").on('click', function() { 

對此:

$("#<%=btElimina.ClientID%>").on('click', return function() { 
+0

謝謝,現在我已經正確的代碼。現在,當我點擊的ImageButton,這個按鈕'的'的頁面刷新,但不會做任何事。我沒有看到確認對話框。但是,謝謝你,我明白你的答案,我可以採取像cloneclick – ecota

+1

的迴應,請確認什麼是在HTML渲染圖像按鈕的id。我認爲這不會是btElimina。覈實。 – Ratna

+0

是的,在這篇文章中,我寫了btElimina,因爲HTML中呈現的實名很長。並且'ctl00_ContentPlaceHolder1_btElimina' – ecota

0

我不能評論下面的最後一條評論,因爲我沒有50的聲望,所以我發佈了一個答案,只是爲了詳細說明拉特納的答案。

根據Ratna的回答,您應該使用服務器標籤來引用ASP.Net控件(帶有runat =「server」的控件),以確保您獲得控件而不管ASP.Net將控件重命名爲。

因此重申拉特納的回答是:

而不是

$('#btElimina').on(.. 

使用

$('#<%= btElimina.ClientID %>').on(.. 

,以確保您得到正確的客戶方控制的ID在你的jQuery腳本。

1

我用這個和它的工作:

我的按鈕是:

<asp:ImageButton ToolTip="Çıkış" ID="ImageButton1" ImageUrl="Image/Exit.png" runat="server" OnClick="btnLogout_Click" /> 

我的腳本是:

<script type="text/javascript"> 
    $("#ImageButton1").on('click', function() { 
     alertify.confirm("This is a confirm dialog", function (e) { 
      if (e) { 
       alertify.success("You've clicked OK"); 

       __doPostBack("<%=ImageButton1.UniqueID%>", ""); 
      } else { 
       alertify.error("You've clicked Cancel"); 
      } 
     }); 
     return false; 
    }); 
</script> 

這裏當我點擊 「取消」 按鈕返回false,做只是當你點擊確定按鈕時,我正在做相關按鈕回發,你可以在服務器端編寫自己的代碼

protected void btnLogout_Click(object sender, EventArgs e) 
     { 
      Session.RemoveAll(); 
      Response.Redirect("~/Login.aspx"); 
      ... 
     }