2017-01-03 54 views
0

我正在使用以下代碼使用確認從數據庫中刪除記錄。使用ASP.NET中的確認窗口彈出窗口和RequiredFieldValidator刪除數據

ASP.NET

<asp:TextBox ID="text_delete" Width="70%" Height="60px" ValidationGroup="del" CssClass="textbox" runat="server"></asp:TextBox> 
<asp:RequiredFieldValidator ID="required_desc" CssClass="validator" ValidationGroup="del" ControlToValidate="text_delete" ErrorMessage="Reason Required" runat="server">Reason Required</asp:RequiredFieldValidator> 
<asp:Button ID="button_delete" CssClass="button" ValidationGroup="del" Text="Delete" runat="server" OnClientClick="Confirm()" OnClick="button_delete_Click" /> 

的JavaScript

<script type = "text/javascript"> 
    function Confirm() { 
     var confirm_value = document.createElement("INPUT"); 
     confirm_value.type = "hidden"; 
     confirm_value.name = "confirm_value"; 
     if (confirm("Do you want to delete this data?")) { 
      confirm_value.value = "Yes"; 
     } else { 
      confirm_value.value = "No"; 
     } 
     document.forms[0].appendChild(confirm_value); 
    } 
</script> 

C#

protected void button_delete_Click(object sender, EventArgs e) 
{ 
    string confirmValue = Request.Form["confirm_value"]; 
    if (confirmValue == "Yes") 
    { 
     // Delete the data 
    } 
    if (confirmValue == "No") 
    { 
     // Do not delete data 
    } 
} 

但是在這裏我想用戶首先輸入在文本框中刪除的原因,然後纔會出現確認彈出窗口。即使我正在使用必需的字段驗證程序,驗證程序僅在彈出窗口後觸發。我怎麼能先啓動驗證器,並且只有當原因進入彈出窗口進行刪除確認時纔會出現。我怎樣才能做到這一點?

回答

0

如果您想更具體,可以使用Page_ClientValidate()或Page_ClientValidate(「組名稱」)在腳本中調用必需的字段驗證。

if(Page_ClientValidate()){ 
    ....popup confirmation code 
    .... 
} 

Working RequiredFieldValidator along with javascript

+0

這是工作,謝謝 –

相關問題