私は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
}