Это очень странно, потому что код на моей машине работает. Что происходит, когда вы запрашиваете URL непосредственно из браузера (без вызова jQuery .post ()), например так:
/myapp/Accounts/List?page=0&pageSize=10&keywords=asdf
Создает запрос GET (вместо запроса POST, сгенерированного методом jQuery .post (), но параметры метода действия должны быть заполнены).
В целях отладки вы можете изменить метод действия на что-то вроде:
public ActionResult List(int? page, int? pageSize, string keywords)
{
return Content(String.Format("page = {0}, pageSize = {1}, keywords = {2}",
page, pageSize, keywords));
}
Если это работает, следующим шагом будет проверка вашего вызова jQuery с чем-то вроде (изменение формата возвращаемых данных с JSON на текст):
$.post('/myapp/Accounts/List',
{ 'page' : 0, 'pageSize' : 10, 'keywords' : 'asdf' },
function(result) {
alert(result);
},
'text');
Все выше сработало правильно для меня, поэтому, если я что-то упустил ... Я озадачен, почему это не сработало для вас? Где я ошибся?