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 のアクションについて言及しており、フォームを送信しています。リクエストが複数回送信されていると思いますか?