我有非常简单的代码(asp .net mvc c#),但无法正常工作。当布尔值正确返回时,companyId始终为零。我的postdata是具有ff属性的名为SomeObj的类
public bool isSomeBoolean1 { get; set; }
public bool isSomeBoolean2 { get; set; }
public bool isSomeBoolean3{ get; set; }
public int CompanyId { get; set; }
js:
var formData = formModule.createFormData(containerSelector + someContainer, false);
formData.append("companyId", $("#myCompanyId").val());
var promise = baseAjaxWithUpload('/SomeController/SomeAction', 'POST', formData).execute();
promise.done(function (operationStatus) {
if (operationStatus.isSuccess) {
}
});
布尔属性根据我在表单中的输入正确返回,但不是CompanyId。我尝试将其包装在JSON.stringify中,设置为CompanyId字符串类型,并在传递之前将其放回int但parseInt(CompanyId)。我也将“ CompanyId”设置为“ companyId”,但没有任何效果。
我确保formdata具有我在控制台formData.get(“ CompanyId”)或formData.get(“ companyId”)]中键入的值coz,当我将其更改为该拼写时,它们都具有值,但是变成控制器中为零。
我也尝试过这样做:
var data = { CompanyId: $("#myCompanyId").val(), isSomeBoolean1 : true, isSomeBoolean2 : true, isSomeBoolean2: false, } var promise = baseAjaxWithUpload('/SomeController/SomeAction', 'POST', JSON.stringify(data) ).execute();
所有布尔值都正确地传递给控制器,就像formData一样,但不是companyid。它总是为0;
这是我使用它的控制器。
[HttpPost] public ActionResult SomAction(SomeObj someObj ) { }
我还尝试通过添加类型为string的名为CompanyIdString的属性来隔离问题,然后放入诸如formData.append(“ companyIdString”,“ test”)这样的硬编码值,并尝试通过get窥视该值, ,但该字符串在控制器中返回null。我还尝试了大写拼写。
我的意思是,我一直在整个应用程序中传递companyId,直到现在为止都没有问题。我想念什么?
我有非常简单的代码(asp .net mvc c#),但无法正常工作。当布尔值正确返回时,companyId始终为零。我的postdata是名为SomeObj的类,带有ff ...
您可以尝试在AJAX调用中使用application / x-www-form-urlencoded内容类型: