使用asp.net成功发送邮件后,我想执行jQuery脚本
.NET 代码:
void btnSubmit_Click(Object sender, EventArgs e) {
MailMessage objEmail = new MailMessage();
objEmail.To = "mymail@com";
objEmail.From = txtFrom.Text;
objEmail.Cc = txtCc.Text;
objEmail.Subject = "Contact";
objEmail.Body = "note: " + txtComments.Text + " <br> " + "name:" + txtName.Text;
objEmail.Priority = MailPriority.High;
objEmail.BodyFormat = MailFormat.Html;
SmtpMail.SmtpServer = "localhost";
try{
SmtpMail.Send(objEmail);
Response.Write("Email send");
}
catch (Exception exc){
Response.Write("");
}
}
jQuery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function() {
var par = $('.x');
$(par).hide();
$("button").click(function(){
$(".x").toggle();
});
});
</script>
两个脚本都可以完美工作,但我不知道如何将它们组合起来以便在成功发送邮件后关闭联系表单。
这是完整的联系表格:
<div align="center"><button class="button">Napisz do nas!</button></div>
<div class="x">
<form runat="server">
<div align="center">
<table border="0" width="350">
<tr>
<td valign="top"><font face="Verdana" size="2">Imię i Nazwisko:</font></td>
<td height="20"> <asp:TextBox runat="server" Height="21px" Width="215px" ID="txtName"></asp:TextBox>
<br>
<asp:RequiredFieldValidator ID = "req1" ControlToValidate = "txtFrom" Runat = "server" ErrorMessage = "Proszę podać Imię i Nazwisko "></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="2">E-mail:</font></td>
<td height="24"> <asp:TextBox runat="server" Height="22px" Width="213px" ID="txtFrom"></asp:TextBox>
<br>
<asp:RegularExpressionValidator ID = "reg1" ControlToValidate = "txtFrom" Runat = "server" ErrorMessage = "Invalid Email" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> <asp:RequiredFieldValidator ID = "req3" ControlToValidate = "txtFrom" Runat = "server" ErrorMessage = "Nieprawidłowy Email" ></asp:RequiredFieldValidator></td>
</tr>
<!--<tr>
<td valign="top"><font face="Verdana" size="2">To</font></td>
<td height="24" valign="top">
<asp:TextBox runat="server" Height="22px" Width="212px" ID="txtTo"></asp:TextBox>
<br>
<asp:RegularExpressionValidator ID = "reg2" ControlToValidate = "txtTo" Runat = "server" ErrorMessage = "Invalid Email" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID = "req4" ControlToValidate = "txtTo" Runat = "server" ErrorMessage = "Please enter recipients E-mail" ></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td valign="top"><font face="Verdana" size="2">Cc</font></td>
<td height="24" valign="top">
<asp:TextBox runat="server" Height="22px" Width="210px" ID="txtCc"></asp:TextBox>
<br>
<asp:RegularExpressionValidator ID = "reg3" ControlToValidate = "txtCc" Runat = "server" ErrorMessage = "Invalid Email" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</td>
</tr>-->
<tr>
<td valign="top"><font face="Verdana" size="2">Wiadomość:</font></td>
<td height="80"> <asp:TextBox runat="server" Height="80px" TextMode="Multiline" rows="4" Width="258px" ID="txtComments"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2" valign="top" height="10" align="center">
<asp:Button Runat = server ID = btnSubmit OnClick = btnSubmit_Click Text = "Wyślij"></asp:Button>
<input type = "reset" runat = "server" value = "Wyczyść"></td>
</tr>
</table>
</div>
</form>
</div>
最佳答案
大多数时候,当我需要执行此操作时,我将 javascript 代码放置在 asp.net 占位符控件中,将其设置为在页面加载时不可见,并在需要执行 javascript 时将其更改为可见。
这还允许您通过使用 3 个不同的占位符来处理 try、catch 和 finally 语句...
关于c# - .NET 中的 try-catch 执行 jQuery 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20642019/