Je convertis une application Web Forms en MVC.jQuery passant les paramètres au contrôleur MVC. Pourquoi mes params sont-ils vides?
J'ai une méthode js qui appelle une méthode d'action du contrôleur (ci-dessous)
function GetUsers(pageNum) { var sortTh = $('thead .sort', document.getElementById('usersTable')); var sortCol = sortTh.find('a').attr('rel');
// { } is declarative shorthand for new Object().
var userRequest = {};
userRequest.pageNum = pageNum;
userRequest.pageSize = 10; //records per page
userRequest.sortType = (sortTh.hasClass('ascending')) ? 'ascending' : 'descending';
userRequest.sortColumn = sortCol;
//alert(userRequest.sortType + " - " + sortCol);
// Create a data transfer object (DTO) with the proper structure.
var DTO = { 'userRequest': userRequest };
//Ajax
var urlMethod = "/Users/GetUsers"; //"../WebServices/ws_Users.asmx/GetUsers";
var jsonData = JSON.stringify(DTO);
SendAjax(urlMethod, jsonData, ReturnGetUsers, 'get');
}
Ce code fonctionne, vous pouvez même voir le poste en Firebug.
{ "userRequest": "pageNum": 1, "pageSize": 10, "sorttype": "descendant", "sortColumn": "dateConnexionPrecedente"}}
[HttpPost] public ActionResult GetUsers(UsersModels.GetUserRequest userRequest) {
//Talk to Web Service
var wsUsers = new WS_Users();
var userList = wsUsers.GetUsers(userRequest);
return Json(userList);
}
I définir un point d'arrêt dans le dessus et tous mes paramètres sont vides? Pourquoi oh pourquoi?
Voici le modèle:
public class GetUserRequest { public int pageNum; public int pageSize; public string sortType; public string sortColumn; }
Aide!
Qu'est-ce que SendAjax et quels devraient être ses arguments? Qu'est-ce que ReturnGetUsers? – Sorpigal