模型未绑定在 POST 控制器方法 .Net Core MVC 中



我有一个模型:

public class CompanyFooterUpdateModel
{
public CompanyFooterUpdateModel(){}
public Guid CompanyId { get; set; }
public string FooterHtml { get; set; }
}

控制器:

public async Task<IActionResult> SaveFooter([FromBody] CompanyFooterUpdateModel model)
{
//.... do something in Company controller
}

视图,带有axios post:

function SaveCompanyFooter() {
axios.post('@Url.Action("SaveFooter", "Company")',
{
model: {
FooterHtml: window.HtmlEditor.getData(),
CompanyId: "@Model.CompanyId"
}
}
).then(response => {
// .... do something
});
}

然后,我尝试了所有方法,[FromBody],其他任何方法,都没有……请解释一下,我做错了什么?

UPD1:所以我也试过这样做:

axios.post('@Url.Action("SaveFooter", "Company")',
{
"FooterHtml": window.HtmlEditor.getData(),
"CompanyId": "@Model.CompanyId"
}
)

public async Task<IActionResult> SaveFooter(Guid CompanyId, string FooterHtml)...

UPD2:控制器动作截图

JS in View

尝试删除"从javascript

axios.post('@Url.Action("SaveFooter", "Company")',
{
FooterHtml: window.HtmlEditor.getData(),
CompanyId: "@Model.CompanyId"
}
)

或尝试添加json头


axios.post('@Url.Action("SaveFooter", "Company")',
{
FooterHtml: window.HtmlEditor.getData(),
CompanyId: "@Model.CompanyId"
}
),
{
'Content-Type': 'application/json'
})
.then((response) => {
.....

,并使用

public async Task<IActionResult> SaveFooter([FromBody] CompanyFooterUpdateModel model)
{
//.... do something in Company controller
}