2009-05-22 7 views
1

Ich versuche, das herauszufinden, aber ich habe nicht viel Glück.Formular senden (E-Mail) mit ASP.net und jQuery funktioniert nicht

Grundsätzlich habe ich ein HTML-Formular im Assistentenformat, das mit dem jQuery-Formularassistenten-Plugin erstellt wurde, das die Plugins jQuery.Form, jQuery.Validation und jQuery.History enthält. Ich versuche, ASP.net Web Forms zu verwenden, um eine E-Mail zu senden, aber ich kann nicht scheinen, es überhaupt zu arbeiten.

hier ist ein Beispiel für meine Markup und Code:

<form id="form1" runat="server"> 
    <div class="step" id="step01"> 
     <input type="text" id="text1" name="text1" runat="server" /><br /> 
     <input type="text" id="text2" name="text2" runat="server" /> 
    </div> 
    <div class="step" id="step02"> 
     <input type="text" id="text3" name="text3" runat="server" /><br /> 
     <input type="text" id="text4" name="text4" runat="server" /> 
    </div> 
    <input type="reset" id="reset" value="Reset" /> 
    <asp:Button runat="server" id="submit" Text="Submit" OnClick="button_Click" /> 
</form> 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Net; 
using System.Net.Mail; 

public partial class email_test02 : System.Web.UI.Page 
{ 
    protected void button_Click(object sender, EventArgs e) 
    { 
     //create the mail message 
     MailMessage mail = new MailMessage(); 

     //set the addresses 
     mail.From = new MailAddress("[email protected]"); 
     mail.To.Add("[email protected]"); 

     //set the content 
     mail.Subject = "Test"; 
     mail.Body = 
      text1.Value + text2.Value + text3.Value + text4.Value; 

     //send the message 
     SmtpClient smtp = new SmtpClient("Localhost"); 
     smtp.Send(mail); 
    } 
} 

Ich bin nicht sicher, was ich von hier aus tun müssen. Ich bin immer noch ziemlich neu bei jQuery und sehr neu bei ASP.net, also bin ich mir sicher, dass ich gerade etwas Offensichtliches vermisse, aber ich hatte kein Glück mit allem, was ich versucht habe. Wenn also jemand mich hier in die richtige Richtung weisen könnte, wäre es sehr geschätzt.

+0

Ihr Beispielcode enthält keine jQuery hinzufügen, also bin ich verwirrt, was das Problem ist. Läuft die jQuery nicht? Klickt der Button Servercode nicht ausgeführt? – ern

+0

Bitte präzisieren Sie die Art des Problems. Erhalten Sie nach dem Klicken auf die Schaltfläche eine Fehlermeldung? Wird die E-Mail gesendet? –

+0

Ich weiß nicht genau, wie ich meine Frage formulieren soll. Grundsätzlich ist mein erstes Problem, dass ich nicht weiß, wie man E-Mail mit Jquery AJAX und ASP.net mit dem JQuery-Formular-Plugin sendet, und mein zweites Problem wird die Arbeit mit dem jQuery Form Wizard-Plugin machen, das ich erwähnte. –

Antwort

0

Wenn Sie das jquery-Formular für die Übermittlung verwenden, entfernen Sie den onclick und geben Sie dem Formular eine ID. Die ID wird in Ihren JavaScript-Code auf der Seite eingegeben, um Ihren Post zu sammeln.

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#form1').ajaxForm(function() { 
      location.href=("submitted.aspx"); 
     }); 
    }); 
</script> 

in Ihre Seite zu laden einfach

if(isPostback){ 
    string txt1 = Request["text1"]; 

    // you will want to clean this string, (encode for storage) 
    // and maybe also check for isnull or empty first i.e 

    var username = !string.IsNullorEmpty(Request["text1"]) ? Request["text1"] : null; 

} 
Verwandte Themen