2009-05-22 1 views
1

Я пытаюсь понять это, но мне не очень повезло.Форма submit (email) с ASP.net и jQuery не работает

В принципе, у меня есть HTML-форма стиля мастера, которая построена с использованием плагина jQuery form wizard, который включает в себя jQuery.Form, jQuery.Validation и jQuery.History плагины. Я пытаюсь использовать веб-формы ASP.net для отправки электронной почты, но я не могу заставить ее работать вообще.

вот пример моей разметки и кода:

<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); 
    } 
} 

Я не уверен, что мне нужно сделать здесь. Я все еще довольно новичок в jQuery и очень новичок в ASP.net, поэтому я уверен, что я просто пропустил что-то очевидное, но мне не повезло ни с чем, что я пробовал. Поэтому, если кто-то может указать мне в правильном направлении, это будет очень признательно.

+0

Ваш пример кода не включает JQuery, так что я запутался, что проблема есть. Не работает ли jQuery? Не запускается ли код кнопки на сервере? – ern

+0

Просьба уточнить характер проблемы. Получаете ли вы сообщение об ошибке после нажатия кнопки? Получается ли отправка электронной почты? –

+0

Я не совсем уверен, как рассказать о моем вопросе. В основном, моя первая проблема заключается в том, что я не знаю, как отправлять электронную почту с помощью JQuery AJAX и ASP.net с использованием плагина формы JQuery, и моя вторая проблема будет заключаться в работе с плагином JQuery Form Wizard, о котором я упоминал. –

ответ

0

Если вы используете форму jquery для отправки, удалите onclick и укажите форму id. Идентификатор вводится в ваш код javascript на странице, чтобы получить сообщение.

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

в вашей загрузки страницы просто добавить

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; 

}