2014-04-23 26 views
0

我明白,我們可以通過使用「onClientClick」來實現這一點,但我想檢查驗證首先確認框。後面的代碼確認與自定義驗證

的JavaScript

function showConfirm() { 
     var result = window.confirm('Are you sure?'); 
     if (result == true) 
      alert("ok");    
} 

HTML

<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 

C#

protected void Button1_Click(object sender, EventArgs e) 
{ 
    if(checkValidation() == true) 
    { 
     ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scr", "javascript:showConfirm();", true); 

     //if(result == true) //how to get the result value? 
     //{ 
      ////run some code 
      //insert data into sql 
     //} 
    } 
} 

有反正我可以在代碼得到確認結果背後?沒有if-else語句,數據將在用戶選擇他們的決定之前插入sql。

+0

你可以使用ajax做你的驗證和顯示警報(在我看來不是最佳實踐)。你可以用javascript和IF做所有的驗證,你需要從服務器(db字段)得到它,然後你可以使用ajax。 –

+0

是的,我確實需要在插入前從sql中獲取數據。你的意思是什麼樣的ajax功能? UpdatePanel的? – user3431239

+0

我個人避免使用updatepanel。你可以通過jQuery或pagemethods使用ajax。 –

回答

0
  1. 我創建與顯示一個按鈕:無

    .hideButton { 顯示:無; }

  2. 創建後面

    代碼

    保護無效btnConfirm_Click(對象發件人,EventArgs的) { 的Response.Redirect( 「page2.aspx」); }

  3. 觸發btnConfirm點擊,如果用戶單擊是確認對話框

    $( '#ContentPlaceHolder1_btnConfirm')的觸發器( '點擊')。

0

如果你正在做的Web表單自定義驗證,你多少能夠EnableClientScript="true"ClientValidationFunction="JSValidateFunctionName"這樣你就可以,甚至要服務器端之前在客戶端驗證寫JS驗證功能名稱。