在 Web 表单中进行验证后执行 JavaScript 打印 asp.net
本文关键字:JavaScript 执行 打印 asp net 验证 表单 Web | 更新日期: 2023-09-27 18:36:47
我有一个 asp.net 3.5 Web 表单,我正在使用多个服务器端验证器控件,我希望在页面验证后,用于打印的 javascript 代码在提交按钮单击事件处理程序时触发
我尝试使用OnClientClick,但即使页面无效,这甚至会触发打印页面javascript,
我将如何做到这一点,打印仅在表单有效时才显示?
这是我的代码,提前感谢
<asp:Button ID="btnAction" runat="server" OnClick="btnAction_Click"
Text="Submit" />
protected void btnAction_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
// define SMTP client
SmtpClient smtp = new SmtpClient();
//create the mail message
MailMessage message = new MailMessage();
//From address will be given as a MailAddress Object
//To address collection of MailAddress
message.To.Add("########");
//CC and BCC optional
//message.CC.Add("");
// Change to false to not include HTML
message.IsBodyHtml = true;
message.Body += "<h2>info goes here</h2></br></br>";
//send the message
try
{
smtp.Send(message);
}
catch (System.Net.Mail.SmtpException ex)
{
throw new Exception(ex.Message.ToString());
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
Page.ClientScript.RegisterStartupScript(this.GetType(),
"OnPrintPage", "window.print();", true);
Response.Redirect("Confirmation.aspx?value=" +
Server.UrlEncode(confirmationNumber));
//Passing in session
//Session["sessionname"] = confirmationNumber;
}
//End if Page is Valid Block
}
在打印命令之前检查 JavaScript 函数中的Page_IsValid。
function PrintDocument()
{
if (Page_IsValid) {
// call your print function here....
}
else
{
// page is not validated.
}
}
那么,
您是否希望在验证页面时显示"打印"按钮?㞖:
您不能使用 OnClientClick 创建另一个服务器端按钮来触发打印操作。此按钮可以在上述代码中的验证时可见。