我们有一个巨大的网格,我们有复选框和相同的文本框。
我们遇到了奇怪的行为,一个例子是底部的按钮确实会导致回发,但执行步骤调试表明事件处理程序没有被调用。
所以我们将按钮移到页面顶部,现在正在调用事件处理程序。
我们还注意到,在同一个请求中,如果我们检查顶部的一些项目和底部的一些项目,顶部的项目会更新,而底部的项目不会。
所以我们这样做了
string strReturn = "";
foreach (string strKey in Request.Form.AllKeys)
{
if (strKey.IndexOf(".x", 1) < 1 && strKey.IndexOf(".y", 1) < 1)
strReturn += "<br> " + strKey + " : " + Request.Form[strKey];
}
Response.Write(strReturn);
这样做是为了打印所有表单变量,结果发现有一个截止点。在查看源代码时,我们可以正确地看到表单元素(文本框、复选框),而在提交它们时,我们的代码不会看到它们。所以在某些时候请求被截断,它会影响表单元素,包括我们上面讨论的按钮。
我们确实禁用了网格的视图状态,但它仍然不起作用。我们的网络配置文件中也有这个来最大化请求大小,我们也用它来上传文件 httpRuntime maxRequestLength="2097151" executionTimeout="300000000000"
我们知道我们的代码循环了足够多的时间,但是我们得到的值是空的,因为它们在请求中不存在。
这适用于一台开发机器,但不适用于生产服务器或另一台开发机器。
任何帮助将不胜感激。
提前致谢。