У меня проблема с ASP.NET MVC3.
Я пытаюсь опубликовать некоторые параметры в действии JSONResult. Он прекрасно работает, когда я использую GET, но когда я использую POST, я получаю ошибку, потому что, очевидно, при использовании POST он не примет мои целочисленные параметры как таковые и скажет, что словарь параметров содержит для них нулевое значение.
Кто-нибудь сталкивался с этим раньше? Спасибо.
Редактировать: какой-то код в соответствии с просьбой:
public JSONResult PostingHere(string username, int someotherparameter) {
//Code
}
Действительно, это все, что имеет значение, потому что исключение выдается тут и там при POSTing, потому что, по-видимому, нулевое значение передается параметру someotherparameter
. При использовании GET, как уже было сказано, он работает просто отлично.
Предполагается использовать для публикации NSURLRequest с iPhone, но я отлаживал с расширением Firefox под названием Poster , и я получаю тот же результат. Полная ошибка:
Словарь параметров содержит пустую запись для параметра 'someotherparameter' необнуляемого типа 'System.Int16' для метода 'System.Web.Mvc.JsonResult PostingHere (System.String, Int16)'
Редактировать 2: По запросу я добавлю пример вызова действия, которое приводит к ошибке:
<form action="http://fullurlhere.com/Controller/PostingHere" method="POST">
<input type="hidden" name="userid" value="astring" />
<input type="hidden" name="someotherparameter" value="100" />
<input type="submit" value="Brace for impact" />
</form>
Редактировать 3: почтовые данные; не берите в голову несоответствие в именах переменных, это их настоящие имена.
![Result of the Post](https://i.stack.imgur.com/uhZVb.jpg)
Редактировать 4: В дополнение к загадке, проблема исчезает при тестировании на локальном сервере на моем собственном компьютере с тем же проектом MVC, на котором работает сервер. Таким образом, проблема, скорее всего, в настройках на стороне сервера.
Решено: Оказывается, когда я оценивал запрос, сервер перенаправлял меня на https: // из http://,, в результате чего я терял свои POST-данные. Спасибо всем за такой хороший спорт.