繁体   English   中英

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

[英]Model doesn't bind in POST controller method .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 帖子:

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 视图

尝试从 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
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM