datatables - ASP.NET 5 Controller method can't receive JSON POST, ASP.NET 4 controller method does -
i have been tearing hair out on one. have 2 projects 1 running asp.net 4
, other asp.net 5 rc1
the asp.net 5
project controller received post
method input parameters default , not values sent webpage.
to narrow down problem simplified controllers post
methods in both projects
[httppost] public jsonresult datahandler(int draw) { //above draw variable not set }
and put break point on method catch variable draw
. webpage sends json post value of 1 draw
parameter. in asp.net 5 values 0 (default) , other parameters send null instead of having values. in 'asp.net 4' correct.
i using jquery datatables
, same code used in this asp.net 4
project
var otable = $('#datatab').datatable({ "serverside": true, "ajax": { "type": "post", "url": '/home/datahandler', "contenttype": 'application/json; charset=utf-8', 'data': function (data) { return data = json.stringify(data); } }, "dom": 'frtis', "scrolly": 500, "scrollx": true, "scrollcollapse": true, "scroller": { loadingindicator: false }, "processing": true, "paging": true, "deferrender": true, "columns": [ { "data": "name" }, { "data": "city" }, { "data": "postal" }, { "data": "email" }, { "data": "company" }, { "data": "account" }, { "data": "creditcard" } ], "order": [0, "asc"] });
i used fiddler
, compared json
sent both project controller , json
content posted /home/datahandler
both exact same i.e. draw=1
.
{"draw":1,"columns":[{"data":"name","name":"","searchable":true,"orderable":true,"search":{"value":"","regex":false}},{"data":"city","name":"","searchable":true,"orderable":true,"search":{"value":"","regex":false}},{"data":"postal","name":"","searchable":true,"orderable":true,"search":{"value":"","regex":false}},{"data":"email","name":"","searchable":true,"orderable":true,"search":{"value":"","regex":false}},{"data":"company","name":"","searchable":true,"orderable":true,"search":{"value":"","regex":false}},{"data":"account","name":"","searchable":true,"orderable":true,"search":{"value":"","regex":false}},{"data":"creditcard","name":"","searchable":true,"orderable":true,"search":{"value":"","regex":false}}],"order":[{"column":0,"dir":"asc"}],"start":0,"length":126,"search":{"value":"","regex":false}}
things tried.
- i used same
html table
contents , above code.js
file between projects - set controller input parameter lowercase e.g.
draw
- compare
json
post
data in fiddler same - put breakpoint on
post
method input variable catch value posted
Comments
Post a Comment