任何人都可以帮助,当我在邮递员中使用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发布模型数据,如下所示。
在控制器中,使用[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/