2017-01-03 73 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

这是工作,谢谢 –

相关问题