我在.Net上学了一个项目。 我尝试通过ajax发送一个POST json MVC控制器5.我达到了控制器的正确功能,但它收到的值为0或null: values in controller are 0 or null
尽管浏览器控制台正确填充了变量: variables in browser console
您认为错误在哪里?
以下是一些代码: 呼叫控制器的功能:
function GeneratePDF() {
var dataToSend;
var age = 69;
instruction = "trololololoCOCO";
dataToSend = JSON.stringify({ item: { distance: age, instruction: instruction } });
console.log("dataToSend : " + dataToSend);
var uri = '/GeneratePDF/Print';
$.ajax({
type: 'POST',
url: uri,
data: dataToSend,
contentType: "application/json; charset=utf-8",
})
.done(function (data) {
console.log('pdf controller DONE');
})
.fail(function (jqXHR, textStatus, err) {
console.log(jqXHR);
$("#result").html(jqXHR.responseText);
});
}
控制器:
[HttpPost]
public ActionResult Print(test item)
{
//something
return new Rotativa.ActionAsPdf("ViewPrint",new { id = item }) { FileName = "Cartographie.pdf" };
}
型号:
public class test
{
public int distance;
public string instruction;
public test(int distance, string instruction)
{
this.distance = distance;
this.instruction = instruction;
}
}
答案 0 :(得分:2)
不允许使用字段。
您的模型声明必须具有get和set属性:
public int distance { get; set; }
public string instruction { get; set; }