Удаление данных с помощью всплывающего окна подтверждения в 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
    }
}

Но здесь я хочу, чтобы пользователь сначала ввел причину удаления в текстовом поле, и только после этого должно появиться всплывающее окно подтверждения. Даже если я использую обязательное поле валидатора, валидатор запускается только после всплывающего окна. Как я могу запустить валидатор первым и только если причина введена, должно появиться всплывающее окно для подтверждения удаления. Как я могу это сделать?

1 ответ

Решение

Вы можете вызвать обязательную проверку поля в скрипте, используя Page_ClientValidate() или Page_ClientValidate("имя группы"), если хотите быть более конкретным.

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

Работает RequiredFieldValidator вместе с JavaScript

Другие вопросы по тегам