2016-03-15 64 views
2

我在.Net中有一个针对学校的项目。 我试图通过AJAX发送POST JSON一个MVC控制器5.我到控制器的正确的功能,但它收到的值是0或空: values in controller are 0 or null使用Ajax发送数据给控制器[Project .Net]

尽管变量正确填写浏览器控制台: 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; 
     } 
    } 

回答

2

字段不允许。

你的模型声明必须获得并设置属性:

public int distance { get; set; } 
public string instruction { get; set; } 
+0

感谢了很多,它的工作原理。 –

+0

@ M.Vogeleer当它解决你的问题时,不要忘记接受/ upvote答案! –

相关问题