页面事件和清除ASP.NET Web窗体上的字段

时间:2011-12-22 23:44:13

标签: asp.net

我知道asp.net是关于事件的,但我不太了解事件是如何工作的。

我需要构建一个网络表单,该表单将提交并发送电子邮件到指定的电子邮件地址,其中包含TextBoxCheckBox值以及电子邮件正文中的一些HTML。我遇到的问题是我需要:

  1. 当用户返回浏览器或刷新页面时,请确保信息已消失。
  2. 我还需要让用户在到达第二页(确认)之前和验证成功之后打印填写了所有表单的页面。目前我在提交按钮上有一个事件OnClientClick,它调用window.print函数,但我真正想要的是在提交页面后打印。并在确认之前打开。在我的头脑中,我只能考虑将所有信息传递到中间第二页,然后在第三页上的页面加载事件上打印..

1 个答案:

答案 0 :(得分:0)

要确保文本框为空,您需要确保页面未缓存;在Setting the Cacheability of a Page上查看此MSDN或仅添加

<meta HTTP-EQUIV="Pragma" content="no-cache">

阻止浏览器提供网页的缓存版本 - 因此点击浏览器不应再保留输入的值。

您可以考虑关闭页面的viewstate,这是自动为您保留文本框值的.NET机制(您可以将其关闭,仅用于您希望阻止重新填充的文本框)。

通常在.NET中我会点击事件触发方法,使用此事件来执行您需要的操作,发送电子邮件,打印表单并清除输入的任何值(只是为了安全)

protected void SendMailButton_Click(object sender, EventArgs e)
{
    SendMail();
    PrintForm();
    ClearForm();
}

然后

protected void PrintForm()
{
    // send form values to a page that handles the printing
}