从阿贾克斯将数据传递到MVC控制器 - 空参数错误 [英] Passing data from ajax to mvc controller - null parameter error
本文介绍了从阿贾克斯将数据传递到MVC控制器 - 空参数错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在服务器端对客户端和ASP MVC的jQuery Ajax请求。 我把这个给服务器 但我没有得到temperatureRanges 难道有人知道为什么吗?
ajax- code:
$。阿贾克斯({
键入:POST,
异步:假的,
网址:/ PVTMethods / StandartModelResult
数据:JSON.stringify(dataForSend)
异步:真正的,
成功:功能(数据){
// TODOРеализоватьобработкурезультата
},
错误:功能(数据){
的console.log(错误+数据);
},
数据类型:JSON,
的contentType:应用/ JSON的;字符集= UTF-8,
});
服务器型号:
公共类DefaultRanges {
公共虚拟双启动{获得;组; } //началоотрезка
公共虚拟双端{获得;组; } //конецотрезка
公共虚拟双样品{获得;组; } //шаги
}
公共类TemperatureDefaultRanges:DefaultRanges {}
公共结构InputDataModel
{
///<总结> решаемаязадача< /总结>
公共任务的任务;
///<总结> данныеподавлению< /总结>
公共pressureDefaultRanges pressureRanges;
///<总结> данныепотемпературе< /总结>
公共TemperatureDefaultRanges temperatureRanges;
////вPVTнастройкипоCTRL + H - 范围дляотдельновзятогографика
///<总结> данныепотемпературе< /总结>
公共PlotRanges currentTaskPlotRanges;
公共双plotConstant; //либоGORлибоpressure(зависитотзадачи)
}
解决方案
您需要通过增加使 InputDataModel
属性的字段 {获得;组; }
这样的 DefaultModelBinder
能设置的属性值。
I got jquery ajax request on client side and asp mvc on server side. I send this to the server But I didn't get temperatureRanges Do somebody know why?
ajax-code:
$.ajax({
type: 'POST',
async: false,
url: "/PVTMethods/StandartModelResult",
data: JSON.stringify(dataForSend),
async: true,
success: function(data) {
//TODO Реализовать обработку результата
},
error: function(data) {
console.log("Error" + data);
},
dataType: "json",
contentType: "application/json; charset=utf-8",
});
Model on server:
public class DefaultRanges {
public virtual double Start { get; set; } //начало отрезка
public virtual double End { get; set; } //конец отрезка
public virtual double Samples { get; set; } //шаги
}
public class TemperatureDefaultRanges:DefaultRanges {}
public struct InputDataModel
{
/// <summary> решаемая задача </summary>
public Tasks task;
/// <summary> данные по давлению </summary>
public PressureDefaultRanges pressureRanges;
/// <summary> данные по температуре </summary>
public TemperatureDefaultRanges temperatureRanges;
////в pvt настройки по ctrl+H - ranges для отдельно взятого графика
/// <summary> данные по температуре </summary>
public PlotRanges currentTaskPlotRanges;
public double plotConstant; //либо GOR либо Pressure (зависит от задачи)
}
解决方案
You need to make the fields in InputDataModel
properties by adding { get; set; }
so the the DefaultModelBinder
can set the value of the properties.
这篇关于从阿贾克斯将数据传递到MVC控制器 - 空参数错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文