【发布时间】:2014-10-02 16:21:42
【问题描述】:
我通常不处理我们网站的旧 ASP 页面。我没有更改这些页面中的任何代码。但是突然之间,所有带有request("param") 的页面都无法正确加载。
这基本上是它的结构。我所有的页面都包含一些其他的 .asp 文件。在他们每个人的最后我写了response.write("test")之类的东西,以确保页面的执行正在执行并且确实如此。然后在我尝试访问的页面上,我尝试在所有包含 response.write("test") 之后的第一行,这会显示测试消息。不过,如果我在此之前添加声明 request("param") BIM!没有显示测试消息。
我不知道它可能是什么,甚至不知道如何调试它。你有什么建议吗?
同样,我没有更改任何 ASP 代码,它工作正常。我唯一能想到的是我在服务器上添加了一个新网站,并创建了一个与该新网站的绑定。但是我没有对之前的ASP页面所在的网站添加任何绑定。不知道有没有关系。这也只发生在我们的测试服务器上。生产网站运行良好。
编辑:我注意到一个服务器错误说 The Template Persistent Cache initialization failed for Application Pool 'local.website1.com' because of the following error: Could not create a Disk Cache Sub-directory for the Application Pool. The data may have additional error codes. 这可能是相关的吗?
编辑:我只是尝试将request("param") 更改为Request.QueryString("param"),这很有效,但我不想编辑我拥有request 的每一页。这是怎么回事……
编辑:我尝试过的另一件事。我清空了我的页面,现在只有
<%
request("param")
response.write("test")
%>
我从前一页上的链接访问该页。通过链接进入我的页面,我不会显示测试消息。但是,如果我返回浏览器中的 url 并按 Enter 键(直接访问页面,而不是链接),它将显示“测试”。我应该调查前一页吗?是否与参数传递相关联?
编辑:又做了一件事。
在我的页面 A pagea.aspx 中,我有指向 myasppage.asp?param=value 的链接,我创建了两个链接。一个是asp:linkbutton,我在后面设置了postBackUrl = myasppage.asp?param=value;。另一个链接是asp:hyperlink,我在其中设置了navigateUrl = myasppage.asp?param=value;。来自超链接控件的链接有效。来自 linkButton 的链接不起作用。
【问题讨论】:
-
你在新网站上真的启用了经典asp吗? IIS7及以上默认不开启?
-
@John 我的意思是在服务器上创建并添加了一个新网站。但在这里,我试图访问第一个网站上的 ASP 页面,该网站已经有功能性的 ASP 页面
-
只是为了澄清经典的 asp 已启用并且工作属性,您的问题是您想使用速记 request("param") 与 request.querystring("") 或 request.form("") ???
-
@Frank 代码一直使用
request,仅此而已。这也是它在产品服务器上的工作方式。我相信经典的 ASP 是启用的,因为我有时可以看到诸如<% response,write("test")%> 之类的东西 -
您的问题并没有说明您正在尝试访问由 ASP.Net 页面发送的
Request("param")。如果您在这一点上更清楚,您可能会节省很多人的时间。
标签: asp.net forms asp-classic request