asp.net ajax提交表单,ASP.Net MVC,使用JQuery.Ajax提交表单

作者在ASP.NET MVC中尝试使用JQueryAjax提交表单,但发现在发送Email时'email'参数未从JavaScript获取。文章探讨了可能的问题点及解决方案,涉及HTML表单、Controller方法、Email类和Ajax请求配置。
摘要由CSDN通过智能技术生成

我想使用JQuery Ajax提交表单(Html.BeginForm())。 根据this question,它应该工作! 我不明白为什么来自动作SendEmail()的参数'email'没有从js获取值。 你能帮我吗?ASP.Net MVC,使用JQuery.Ajax提交表单

笔者认为:

{ %>

  • De...

  • A...

    Model.Agent.Email, new { @id = "MailTo", @Name = "MailTo" })%>

  • Objet :

    Model.MailSubject, new { @id = "MailSubject", @Name = "MailSubject" })%>

我的控制器:

[HttpPost]

public ActionResult SendEmail(Email email)

{

if (email != null)

{

if (!string.IsNullOrEmpty(email.MailBody) & !string.IsNullOrEmpty(email.Subject) & !string.IsNullOrEmpty(email.To))

{

using (IEmailDal emailDal = new EmailDal())

{

emailDal.SendEmail(email);

}

return Json("Email envoyé", JsonRequestBehavior.AllowGet);

}

else

return Json("Error");

}

else

return Json("Error");

}

我的电子邮件类:

public class Email

{

public string From { get; set; }

public string To { get; set; }

public string Subject { get; set; }

public string MailBody { get; set; }

}

要提交我的形式,我通过jQuery的一个按钮模拟提交动作.dialog:

$("#mail-form").dialog({

buttons: {

"Envoyer le mail": function() {

$("#formSendMail").submit();

}

}

});

而且我的javascript:

$('#formSendMail').submit(function (e) {

var myEmail = {

From: $('#MailFrom').val(),

To: $('#MailTo').val(),

Subject: $('#MailSubject').val(),

MailBody: $('#MailBody').val()

};

$.ajax({

type: "POST",

url: '',

data: JSON.stringify(myEmail),

contentType: "application/json; charset=utf-8",

dataType: "json",

success: function (result) {

alert("Mail envoyé.");

},

error: function (result) {

alert("Echec lors de l'envoi du mail.");

}

});

return false;

});

谢谢!

2015-10-13

Flesym

+1

你的表单没有提交按钮 –

+2

而作为一个侧面说明 - 这个问题的答案是并不完全正确 - 你不需要字符串化的数据,如果你删除'的contentType:“应用/ JSON的;字符集= utf-8“,' –

+0

@Coulton:它没有提交按钮,因为我使用的是JQuery.Dialog,我通过对话框中的按钮模拟提交方法:$(”#mail-form“)。对话框({ 的AutoOpen:假的, 宽度:1140, 模式:真, 按钮:{ “Envoyer乐邮件”:函数(){ $( “#formSendMail”)提交();} 。} }); –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值