下面是我如何工作的。
关键点是:我需要使用与视图关联的ViewModel,以便运行时能够解析请求中的对象。
[我知道有一种方法可以绑定默认ViewModel对象以外的对象,但是最终无法满足我的需要而只是填充必要的属性]
[HttpPost] public ActionResult GetDataForInvoiceNumber(MyViewModel myViewModel) { var invoiceNumberQueryResult = _viewModelBuilder.HydrateMyViewModelGivenInvoiceDetail(myViewModel.InvoiceNumber, myViewModel.SelectedCompanyCode); return Json(invoiceNumberQueryResult, JsonRequestBehavior.DenyGet); }用于调用此操作方法的JQuery脚本:
var requestData = { InvoiceNumber: $.trim(this.value), SelectedCompanyCode: $.trim($('#SelectedCompanyCode').val()) }; $.ajax({ url: '/en/myController/GetDataForInvoiceNumber', type: 'POST', data: JSON.stringify(requestData), dataType: 'json', contentType: 'application/json; charset=utf-8', error: function (xhr) { alert('Error: ' + xhr.statusText); }, success: function (result) { CheckIfInvoiceFound(result); }, async: true, processdata: false });


