Форма отправки (электронная почта) с ASP.net и jQuery не работает - PullRequest
1 голос
/ 22 мая 2009

Я пытаюсь понять это, но мне не очень везет.

По сути, у меня есть HTML-форма в стиле мастера, построенная с использованием плагина мастера форм jQuery, который включает в себя плагины 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("test@test.com");
        mail.To.Add("test2@test.com");

        //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, так что я уверен, что мне просто не хватает чего-то очевидного, но мне не повезло ни с чем, что я пробовал. Поэтому, если бы кто-то мог указать мне правильное направление, это было бы очень ценно.

1 Ответ

0 голосов
/ 23 мая 2009

Если вы используете форму jquery для отправки, удалите onclick и присвойте форме идентификатор. Идентификатор входит в ваш код 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;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...