我正在开发我的第一个ASP.NET到Mono端口。我构建了一个具有多种功能的测试站点进行测试。一个只是一个简单的表格帖子。我得到的错误是:
参数不能为空。参数名称:inputString
描述:HTTP 500.错误处理请求。
堆栈追踪:
System.ArgumentNullException:参数不能为null。 参数名称:inputString 在System.Web.UI.ObjectStateFormatter.Deserialize(System.String inputString)[0x00000] in:0 在System.Web.UI.LosFormatter.Deserialize(System.String输入)[0x00000] in:0
我尝试通过注释掉处理会话变量或表单输入(Request.Form)的所有代码进行调试但仍然出错。我现在甚至已经将页面内的所有代码加载注释掉了但仍然没有骰子。 这个表单在IIS上作为ASP.NET工作正常。也许有一个配置,我没有做?
**编辑** 我能够将问题查明到我用来从System.Web.UI.Page继承的自定义Page类,其中我已经覆盖了一些基本方法。当我切换回System.Web.UI.Page时,错误就消失了。我确实需要我的自定义Page类。当我执行表单发布/回发时发生错误;初始加载工作正常。
答案 0 :(得分:1)
*问题已解决* 这是在LosFormatter.Deserialize方法中。我检查了传递的字符串是否为null然后将其修改为使用string.IsNullOrEmpty。也许它不喜欢空字符串。