标准/建议采用何种方式执行以下操作:
当用户提出Page_Command“保存”或“发送”时,我想运行一个方法。如果方法返回false,我想将用户发送回页面并显示消息。
他们在表格中输入的所有数据仍应存在。该消息将有一个按钮,显示“无论如何发送/无论如何”。如果他们点击它,它将发送。
我知道我可以通过webservice和jQuery来做到这一点,但我想问我将如何通过WebForms这样做。
这是我的基本代码:
protected void Page_Command(Object sender, CommandEventArgs e)
{
if ( e.CommandName == "Save" || e.CommandName == "Send" )
{
// run method
}
}
答案 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
}