2

2.0フレームワークで実行される古い.netサイトがあります。このサイトには、response.redirect()を呼び出すことによって必要に応じてリダイレクトする複数の呼び出しがあります。なんらかの理由で、 `文字がルートへのマッピングを停止し、実際にはパスの一部として表示されていることがわかりません。例えば:

Response.Redirect("~/shopping/checkout_confirm.aspx?rc=" & 
    MyPayment.ResponseCode & "&rt=" & MyPayment.ResponseText)

にリダイレクトしようとすることになります:

https://www.site.com/shopping/~/shopping/checkout_confirm.aspx?rc=3

私は次のことも試しましたが、運がありませんでした。

Response.Redirect(Page.ResolveUrl("~/shopping/checkout_confirm.aspx?rc=" &
    MyPayment.ResponseCode & "&rt=" & MyPayment.ResponseText))

開発環境で実行すると、URLが正しくマップされます...この問題の原因/修正方法について何か考えはありますか?

4

2 に答える 2

0

ResponseTextの一部に、エンコードする必要のある文字が含まれていました。

于 2011-04-15T14:38:42.930 に答える
-1

代わりに相対パスを使用してみてください。

Response.Redirect("checkout_confirm.aspx?rc=" & MyPayment.ResponseCode & "&rt=" & MyPayment.ResponseText)
于 2011-04-14T13:42:31.383 に答える