0

什么方式是标准/建议执行以下操作:

当用户提出 Page_Command“保存”或“发送”时,我想运行一个方法。如果该方法返回 false,我想将用户发送回页面并显示一条消息。

他们在表格中输入的所有数据应该仍然存在。该消息将有一个按钮,上面写着“无论如何/无论如何都发送”。如果他们点击它,它将发送。

我知道我可以通过 web 服务和 jQuery 来做到这一点,但我在问如何通过 WebForms 来做到这一点。

这是我的基本代码:

protected void Page_Command(Object sender, CommandEventArgs e)
{   
    if ( e.CommandName == "Save" || e.CommandName == "Send" )
    {
        // run method
    }
}
4

1 回答 1

1

有几种方法可以做到这一点。

一个选项可能是带有文本“保存”的按钮,另一个选项是带有文本“仍然发送”的按钮。使第二个按钮不可见,第一个可见。

单击第一个按钮时,它应该运行验证逻辑。如果验证成功,则提交 - 否则,隐藏第一个按钮,并将另一个按钮设置为可见。

当/如果单击第二个按钮,则在没有验证的情况下执行提交。

更新:

通过一些小的修改,您应该能够执行以下操作:

标记:

<asp:Button runat="server" 
            ID="myFirstButton"
            OnClick="SubmitWithValidation" />

<asp:Button runat="server" 
            ID="mySecondButton"
            Visible="False"
            OnClick="SubmitData" />

代码:

protected void SubmitWithValidation(object sender, EventArgs e)
{
    if (ValidateMyData())
    {
            SubmitData(sender, e);
    }
    else
    {
        mySecondButton.Visible = true;
        myFirstButton.Visible = false;
    }
}

private bool ValidateMyData()
{
    // Validate stuff

    return isValid;
}

private void SubmitData(object sender, EventArgs eventArgs)
{
    // Logic to submit your data here
}
于 2013-04-19T20:23:51.033 回答