2013-12-17 36 views
1

sucessfull發送郵件與asp.net我想執行jQuery腳本
.NET代碼後:的try-catch在.NET執行jQuery腳本

void btnSubmit_Click(Object sender, EventArgs e) { 

     MailMessage objEmail = new MailMessage(); 
     objEmail.To = "[email protected]"; 
     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&#281; 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&#281; poda&#263; Imi&#281; 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>&nbsp;<asp:RequiredFieldValidator ID = "req3" ControlToValidate = "txtFrom" Runat = "server" ErrorMessage = "Nieprawid&#322;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> 
         &nbsp;<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&#347;&#263;:</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&#347;lij"></asp:Button> 
         &nbsp;<input type = "reset" runat = "server" value = "Wyczy&#347;&#263;"></td> 
        </tr> 
        </table> 
       </div> 
       </form> 

</div> 
+0

在哪裏接觸的形式? – Satpal

+0

@Satpal - 爲什麼這是必要的? [Bartdude的答案](http://stackoverflow.com/a/20642058/1454048)不是這樣嗎? – admdrew

+0

我已經添加了聯繫人的表單代碼,但我認爲這是不必要的,因爲只有我看到的選項只是觸發從發送按鈕區域切換,但是這將始終關閉該字段,無論郵件是否發送。如果您有任何想法,我會很高興聽到他們 – user3099494

回答

2

很多時候我需要做到這一點,我將在asp.net佔位符控件的JavaScript代碼,這是我設定在頁面加載無形的時間,並且當我需要執行javascript時將其更改爲可見。

這也將讓你處理的嘗試,用3個不同的佔位符做趕上最後陳述......

1

你必須記住的是,.NET代碼在服務器和jQuery的上運行代碼在瀏覽器中運行。沒有直接的方式來從.NET調用JavaScript。

可以使用頁面對象的ClientScript屬性將JavaScript注入到頁面中,以便當新頁面呈現到瀏覽器中時,它將包含腳本並執行它。

http://msdn.microsoft.com/en-us/library/btf44dc9(v=vs.110).aspx

0
<div id="x" runat="server"> 
<!-- your html --> 
</div> 

在btnSubmit_Click的電子郵件的發送成功的情況下,:

x.Visible = false; 
+0

我試過這個選項,並且在郵件成功發送的情況下它不可見,但是當它不成功時它關閉(但仍然可見) – user3099494

+0

對不起,我不明白你寫的是什麼。你能解釋一下嗎? – antao