我制作了调用IActionResult
. 但我不能将模型传递给它我只是传递一个字符串。我的问题是如何传递模型?
AJAX
$('#CreateLesson').on('submit', function (e) {
e.preventDefault();
var lesson = $(this).serialize();
$.ajax({
type: "POST",
url: '@Url.Action("Create", "Lessons")',
dataType: "json",
async: false,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(lesson),
success: function (data) { alert("succes"); },
error: function (error) {
console.log(error);
alert(JSON.stringify(error));
}
});
});
控制器
[HttpPost]
//[ValidateAntiForgeryToken]
public IActionResult Create([FromBody]string lesson)
{
if (ModelState.IsValid)
{
_context.Add(lesson);
_context.SaveChanges();
return PartialView("_MyLessons", lesson);
}
return RedirectToAction("AjaxMetho", "Account");
//return PartialView("Create");
}
出来的文字很奇怪。它的字段比模型多。我的模型只有名称、等级、目标、描述。
"Name=C%23%20vvvvvv&grade=1&SubID=123&BarCode=vvvvvvnnnnnnnnnnnnnn&Objectives=ABC%40abc123&Description=ABC%40abc123&__RequestVerificationToken=CfDJ8Ekvaq-NSQtAn7SGG0DJv7-ETDuOvAlwPoMzNMGyUSfJ6RRc2UY3KRxQbq0VEzBRE-YgHTSeMtnKY8DqTKXk8GoGsvkcB87xEM0-G5zbBO6BtoWLncH1ROE7iE2kiUbjBsPg_pwzZpXPUhS9_Nb14ay02l-N_DSULUT22cTa8zY5zpcyHY5Nsp-mN7tfLYiOGA"
当我尝试在没有字符串化的情况下传递模型并更改参数IActionResult
以获取课程模型而不是字符串时,我得到 null !
我应该怎么做才能通过模型探测?