【发布时间】:2013-12-16 22:03:54
【问题描述】:
我在使用旧的 asp.net webforms 应用程序时遇到了一个非常奇怪的问题。 我正在开发一个非常简单的用户跟踪方法,如果查询字符串参数等于某个值,我需要在页面加载中调用一个子例程。 例如:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Request.QueryString("rf") = "dem" Then
TrackUser();
End If
End Sub
荒谬的是,如果我通过 www.mydomain.com/Default.aspx?rf=dem 加载网站,则会调用 TrackUser()。 相反,如果我加载 www.mydomain.com/?rf=dem,则不会调用 TrackUser()。
我认为这是查询字符串的问题,所以我写了如下内容:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write("Test page_load")
If Request.QueryString("rf") = "dem" Then
TrackUser();
End If
End Sub
如果我通过 www.mydomain.com 访问该网站,则不会写入“Test page_load”。 怎么会?
【问题讨论】:
-
如果设置为
If Request...,是否会触发断点? -
default.aspx是您网站的默认页面吗?