表单提交(电子邮件)与ASP.net和jQuery无法正常工作

时间:2009-05-22 18:33:10

标签: asp.net jquery email

我想弄明白这一点,但我运气不好。

基本上,我有一个使用jQuery表单向导插件构建的向导样式HTML表单,其中包含jQuery.Form,jQuery.Validation和jQuery.History插件。我正在尝试使用ASP.net Web Forms提交电子邮件,但我似乎无法使其工作。

这是我的标记和代码示例:

<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 :(得分:0)

如果您使用jquery表单进行提交,请删除onclick并为表单提供id。 该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;

}