奇妙なコード出力に基づいて、HttpContext.Current を誤って使用していると感じています。
http://example.com/Foo.aspxとhttp://example.com/Bar.aspxの2 つのページがあります。どちらにもボタンがあり、クリックするとページのコンテキスト外のクラスで静的関数が呼び出され、System.Web.HttpContext.Current.Request.Url.AbsolutePath がその静的関数に表示されたときにメールが送信されます。
Foo.aspxのボタンが送信されると、「/ Foo.aspx」というメールが届くと思いますが、通常はそうです。Foo.aspx からの呼び出しで、"/Bar.aspx" が予期せず送信されることに気付きました。
両方のページが同じクライアントによってロードされた可能性があります。
- 何が起きてる?HttpContext.Current.Request は、それを参照する静的関数を呼び出したページとは異なるパスをどのように返しますか?
- どうすれば欲しいものを手に入れることができますか?つまり、それを気にする静的関数を呼び出したページの絶対パスを確実に手に入れることができますか?