WebForms中的客户端交互

时间:2013-04-19 19:58:06

标签: c# webforms

标准/建议采用何种方式执行以下操作:

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

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

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

这是我的基本代码:

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

1 个答案:

答案 0 :(得分: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
}