使用Ajax将后期数据发送到控制器[Project .Net]

时间:2016-03-15 12:37:40

标签: c# ajax asp.net-mvc-4 asp.net-ajax

我在.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;
        }
    }

1 个答案:

答案 0 :(得分:2)

不允许使用字段。

您的模型声明必须具有get和set属性:

public int distance { get; set; }
public string instruction { get; set; }
相关问题