【发布时间】:2021-12-06 16:24:20
【问题描述】:
我有一个模型:
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 发帖:
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)...
【问题讨论】:
-
他们有什么问题?它会撞到控制器吗?控制器动作输入参数是否为空?
-
@Serge in HttpContext.Request...Body 我可以通过调试器看到我的 POST 正文数据。但是,由于某种原因,模型是空的(使用默认值初始化)
-
但是它触发了动作?
-
@Serge 是的,它触发了一个动作
-
大部分是猜测,但请尝试从 JavaScript 对象中删除
model属性并将该属性值作为整个对象。
标签: c# post axios asp.net-core-mvc