来自Ajax调用的Asp.Net Core中的模型绑定

问题描述 投票:0回答:1

我有一个调用Asp.Net Core控制器的Javascript函数:

    const details =
    {
        thisModel: {
            Id: '@Model.OrderId',
            Name: '@Model.Name',
            Data: data,
            StringData: ''
        }
    };

    const data = JSON.stringify(details);

    $.ajax({                    
        type: "POST",
        url: "/Orders/CreateOrder",
        data: data,
        datatype: "json",
        contentType: 'application/json; charset=utf-8',
        success: function (data) {
            // Success!
        }
    });

我正在尝试调用Asp.Net Core控制器方法:

    [HttpPost]
    public async Task<IActionResult> CreateOrder([FromBody]OrderDetails orderDetails)
    {

OrderDetails模型看起来像这样:

public class OrderDetails
{
    public string Id { get; set; }
    public string Name { get; set; }
    public IFormFile Data { get; set; }
    public string StringData { get; set; }
}

我的问题是,虽然确实调用了控制器方法,但orderDetails中的每个值都为空。我看过at the MS documentation,据我所知,我遵守所有规则,所以我有点不确定为什么数据没有通过。谁能帮忙?

c# ajax asp.net-core model-binding
1个回答
0
投票

由于您的模型中具有IFormFile属性,所以我无法理解您要将文件上传到API。

© www.soinside.com 2019 - 2024. All rights reserved.