我发现了一个奇怪的情况,其中Request.Querystring()似乎不能正常工作。我已经配置了Web。配置重定向所有丢失的页面。
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" subStatusCode="-1" responseMode="ExecuteURL" path="/404.asp" />
</httpErrors>
</system.webServer>
它工作,但页404.asp不能读取querystring中的所有变量。更具体地说,第一个变量有一个混乱的名称。
让我们试着更好地解释。
我打开http://localhost/IT/?fname=John&lname=Blake
, web服务器正确重定向到404.asp.
奇怪的是。我的页面404.asp访问了一个混乱的查询字符串。
Response.Write(Request.QueryString())
打印404;http://localhost:80/IT/?fname=John&lname=Blake
那不是我原来的查询字符串,我找不到正确管理它的方法。为什么不呢?因为Request.QueryString("fname")
没有返回正确的值
错误在哪里?:)
404页面接收URL作为查询字符串,看起来
我会拆分你得到的结果,目前站在404;http://localhost:80/IT/?fname=John&lname=Blake
使用:
dim newQueryStringArray
newQueryStringArray= Split(Request.QueryString(),"?")
这就意味着newQueryStringArray(1)
等于fname=John&lname=Blake
你可以按照你想要的方式操作,但我将使用与上面类似的方法,使用&
作为分隔符,然后使用=
符号来获得值
试试http://classicaspreference.com/aspexamples/custom404.asp