【问题标题】:URL is too long while running !!运行时 URL 太长!!
【发布时间】:2011-10-18 09:29:53
【问题描述】:

我正在 Visual Studio 2010 上使用 LINQ 数据库创建网站 当我从数据库和数据库进行许多查询时出现此错误

该页面包含从数据库中获取某些内容并同时回发以从数据库中获取查询并将其绑定到 Gridviews 的下拉列表

从数据库中查询 3 次后,它会显示此消息

“此请求的查询字符串长度超过了配置的 maxQueryStringLength 值。”

我正在使用谷歌浏览器顺便说一句!

【问题讨论】:

  • 你碰巧用过AJAX吗?您能否发布一些相关代码和完整的确切错误以及堆栈跟踪?

标签: c# linq visual-studio-2010 query-string web


【解决方案1】:

来自http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/a33611c1-7cdf-4a40-880b-3309456406f0

请检查配置文件中的部分: <httpRuntime maxRequestPathLength="260" maxQueryStringLength="2048" /> 默认情况下, 查询字符串长度限制为 2048 个字符。允许 更长或更短的查询字符串,修改 maxQueryStringLength 属性,请。

【讨论】:

  • 任何时候。很高兴能帮上忙。
【解决方案2】:

很遗憾,没有看到您的代码并不能告诉您如何减少该查询字符串的长度。你在查询字符串中传递了什么信息?

这里是an article,它试图量化阈值(它因操作系统/浏览器组合而异)

【讨论】:

  • 此请求的查询字符串长度超过了配置的 maxQueryStringLength 值。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详细信息:System.Web.HttpException:此请求的查询字符串长度超过了配置的 maxQueryStringLength 值。
  • 源错误:在执行当前 Web 请求期间产生了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息
  • 堆栈跟踪:[HttpException (0x80004005):此请求的查询字符串的长度超过了配置的 maxQueryStringLength 值。] System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9016221 System.Web.ValidateRequestExecutionStep。 System.Web.HttpApplication.IExecutionStep.Execute() +35 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184
【解决方案3】:

不要使用GET 方法将数据发送回服务器,而是使用POST 方法。

在您的 html 中将您的表单标签更改为类似这样的内容

<form id="myForm" method="POST" action="...">

或者,如果您通过 javascript 提交表单,请尝试这样的操作

var myForm = document.getElementById("myForm");
myForm.method = "POST";
myForm.submit();

【讨论】:

  • 如何使用 Post 方法??
  • 做成那样之后。它再次使用该 URL
猜你喜欢
  • 2016-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多