jQuery
$(document).ready(function () {
var EmailContainer = $('#EmailContainer');
var url = EmailContainer.attr('data-url');
EmailContainer.load(url, function () {
var Emailform = $('#EmailForm');
$.validator.unobtrusive.parse(Emailform);
Emailform.submit(function () {
debugger;
var Emailform = $(this);
if (Emailform.valid()) {
var SendEmailUrl = EmailContainer.attr('Json-Url');
var UserModel = { From: $('#From').val(), To: $('#To').val(),
Subject: $('#Subject').val(),
Description: $('#Description').val() }
$.post(SendEmailUrl, UserModel, function (data) {
Emailform.html(data);
Emailform.removeData('validator');
Emailform.removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse(Emailform);
});
}
return false;
});
});
});
管理控制器部分视图
@model _1.Areas.Email.Models.User
@using (Html.BeginForm("SendEmail", "Admin", FormMethod.Post, new { id = "EmailForm" }))
{
@Html.LabelFor(i => i.From);
@Html.TextBoxFor(i => i.From);
@Html.ValidationMessageFor(i => i.From);
<br />
@Html.LabelFor(i => i.To);
@Html.TextBoxFor(i => i.To);
@Html.ValidationMessageFor(i => i.To);
<br />
@Html.LabelFor(i => i.Subject);
@Html.TextBoxFor(i => i.Subject);
@Html.ValidationMessageFor(i => i.Subject);
<br />
@Html.LabelFor(i => i.Description);
@Html.TextBoxFor(i => i.Description);
@Html.ValidationMessageFor(i => i.Description);
<br />
<input type="submit" value="Send Email" id="SendMail" />
}
问题 - 提交管理控制器的部分视图时。它给出“500 内部服务器错误”
更新 - 1
正如您在部分视图中看到的 - 我在 HTML.BeginForm 中提到了该操作,并且我还提交了表单。我认为请求被提交不止一次?