任何人都可以帮助,当我在邮递员中使用post方法时,我只会得到“输入无效”。请帮助,我在这上面花了太多时间!!!

控制器:

[HttpPost]
public IActionResult Create(M05PurchaseAgreement item)
{
    _context.M05PurchaseAgreement.Add(item);
    _context.SaveChanges();

    return CreatedAtRoute("GetTodo", new { agreementNo = item.AgreementNo }, item);
}


模型:

public class M05PurchaseAgreement
{
    [Key]
    public string AgreementNo { set; get; }
    public string Status { set; get; }
    public string OrderStatus { set; get; }
    public string AccountStatus { set; get; }
    public string StockID { set; get; }
    public string RegistrationNo { set; get; }
    public string Revision { set; get; }
    public string CalendarPeriod     { set; get; }
    public string PurchaseType { set; get; }
    public DateTime PurchaseDate { set; get; }
    public string PurchaseSalesman { set; get; }
    public decimal PurchasePrice { set; get; }
    public string TaxMethod { set; get; }
    public string PurchaseInvoice { set; get; }
    public string EntryStaff { set; get; }
    public DateTime EntryDate { set; get; }
    public string LastEditStaff { set; get; }
    public DateTime LastEditDate { set; get; }
    public string Notes { set; get; }
    public string BranchCode { set; get; }
    public string Location { set; get; }
}


编辑-我正在使用Jquery

jQuery:

$.ajax({
    type: 'POST',
    url: 'https://localhost:44328/api/m05purchaseagreement',
    accepts: 'application/json',
    contentType: 'application/json',
    data: JSON.stringify(item),
    error: function (jqXHR, textStatus, errorThrown) {
        alert(JSON.stringify(item));
    },
    success: function (result) {
        $('#agreementNo').val('');
    }
});

最佳答案

如果使用[ApiController],则模型验证错误将自动触发HTTP 400响应。
您可以通过将SuppressModelStateInvalidFilter属性设置为true来禁用默认行为。请参见文档here

在邮递员中,我使用原始json发布模型数据,如下所示。

jquery - “输入无效”。Razor页面的.NET Core Web API-LMLPHP

在控制器中,使用[FromBody]

[HttpPost]
public IActionResult Create([FromBody] M05PurchaseAgreement item)


而且,您需要传递json数据,您的项目类似于

var item = { "Status": "active", "OrderStatus": "active" };

关于jquery - “输入无效”。Razor页面的.NET Core Web API,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53631249/

10-11 02:11