WebForms中的客户端交互

本文关键字:交互 客户端 WebForms | 更新日期: 2023-09-27 18:10:00

标准/推荐的做法是什么?

当用户触发Page_Command"Save"或"Send"时,我想运行一个方法。如果该方法返回false,我希望将用户发送回页面并显示一条消息。

他们在表单中输入的所有数据应该仍然在那里。这条消息会有一个按钮,上面写着"无论如何都要发送"。如果他们点击它,它会发送。

我知道我可以通过webservice和jQuery来做到这一点,但是我想问我如何通过WebForms来做到这一点。

下面是我的基本代码:
protected void Page_Command(Object sender, CommandEventArgs e)
{   
    if ( e.CommandName == "Save" || e.CommandName == "Send" )
    {
        // run method
    }
}

WebForms中的客户端交互

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

一个选项可能是带有文本"Save"的按钮,另一个带有文本"Send anyway"的按钮。让第二个按钮不可见,而第一个按钮可见。

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

当/如果单击第二个按钮,则执行提交而不进行验证。

更新:

稍作修改,您应该能够完成如下操作:

标记:

<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
}