错误提示“此请求的查询字符串的长度超过配置的 maxQueryStringLength 值。”如何解决

时间:2022-12-30 20:58:33
本人在.NET进行Forms验证时,用到在Global.asax文件中用到了FormsAuthentication.RedirectToLoginPage()方法,但运行时却出现了“此请求的查询字符串的长度超过配置的 maxQueryStringLength 值。”的错误,这是怎么回事啊?怎么解决?
web.config中的配置是:

<?xml version="1.0"?>
<!--
  有关如何配置 ASP.NET 应用程序的详细信息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <connectionStrings>
    <add name="MyDataConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\MyData.mdb"/>
  </connectionStrings>
  <system.web>
    <authentication mode="Forms">
      <forms name=".ASPXAUTH" loginUrl="View/Login.aspx" defaultUrl="Admin/Admin_Default.aspx"
              path="/" timeout="30" protection="All">
        
      </forms>
    </authentication>
    <httpRuntime requestValidationMode="2.0"/>
    <compilation debug="true" targetFramework="4.0"/>
  </system.web>
  <location path="Admin">
    <system.web>
      <authorization>
        <allow roles="1"/>
      </authorization>
    </system.web>
  </location>
</configuration>

9 个解决方案

#1


超出了查询字符串的最大长度。

这句话理解不了?

#2


web.config中加入
<httpRuntime maxRequestPathLength="360" maxQueryStringLength="1024" /> 

#3


看看你表单的method,或者去掉这个属性试试

#4


把该查询写成存储过程,
页面再调用该存储过程

#5


关注一下 我也遇到了这个问题

#6


看一下长变能不能设长点,如果不行的话,就用存储过程呢

#7


引用 2 楼  的回复:
web.config中加入
<httpRuntime maxRequestPathLength="360" maxQueryStringLength="1024" />


应该是这个。

#8


没用~.net 版本不对

#9


谢谢以上诸位的回答,加上这个就没问题了 <httpRuntime  maxQueryStringLength="10240" />

#1


超出了查询字符串的最大长度。

这句话理解不了?

#2


web.config中加入
<httpRuntime maxRequestPathLength="360" maxQueryStringLength="1024" /> 

#3


看看你表单的method,或者去掉这个属性试试

#4


把该查询写成存储过程,
页面再调用该存储过程

#5


关注一下 我也遇到了这个问题

#6


看一下长变能不能设长点,如果不行的话,就用存储过程呢

#7


引用 2 楼  的回复:
web.config中加入
<httpRuntime maxRequestPathLength="360" maxQueryStringLength="1024" />


应该是这个。

#8


没用~.net 版本不对

#9


谢谢以上诸位的回答,加上这个就没问题了 <httpRuntime  maxQueryStringLength="10240" />