我知道asp.net是关于事件的,但我不太了解事件是如何工作的。
我需要构建一个网络表单,该表单将提交并发送电子邮件到指定的电子邮件地址,其中包含TextBox
和CheckBox
值以及电子邮件正文中的一些HTML。我遇到的问题是我需要:
OnClientClick
,它调用window.print函数,但我真正想要的是在提交页面后打印。并在确认之前打开。在我的头脑中,我只能考虑将所有信息传递到中间第二页,然后在第三页上的页面加载事件上打印.. 答案 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
}