POST不接受int参数

时间:2011-09-28 06:08:18

标签: c# forms asp.net-mvc-3 api post

我对ASP.NET MVC3有疑问。

我正在尝试将一些参数发布到JSONResult操作中。当我使用GET时,它工作得很好,但是当我使用POST时,我得到一个错误,因为显然在使用POST时,它不会接受我的整数参数,并且说参数字典包含空值。 / p>

之前有人碰过这个吗?感谢。

编辑:根据要求编写一些代码:

public JSONResult PostingHere(string username, int someotherparameter) {
    //Code   
}

真的,这一切都很重要,因为在POST时会抛出异常,因为显然会将空值传递给someotherparameter参数。当使用GET时,如前所述,它只是花花公子。

预期用途是从iPhone发布NSURLRequest,但我一直在使用名为 Poster 的firefox扩展进行调试,我得到的结果相同。完整错误:

参数字典包含参数'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

编辑4:添加到这个谜团时,当我在自己的计算机上测试本地服务器时,问题就会消失,服务器正在运行的MVC项目也是如此。所以问题可能出在服务器端设置中。

解决:当我评估请求时,服务器将我从http://重定向到https://,导致我丢失了我的POST数据。感谢每个人都做这么好的运动。

2 个答案:

答案 0 :(得分:0)

public JSONResult PostingHere(string username, int? someotherparameter) {
    //Code   
}

答案 1 :(得分:0)

解决:当我评估请求时,服务器将我从http://重定向到https://,导致我丢失了我的POST数据。感谢每个人都做这么好的运动。

相关问题