質問

している方法がたいへのリダイレクトにユーザーに戻り、ログインページ内のルートのサポートも組み込まれています。

私が使っている以下のコード:

Response.Redirect("~/Login.aspx?ReturnPath=" + Request.Url.ToString());

この動作しないものです。私の想いASP.NET が自動的に解決するURLのパスです。通常は、私だけの利用

Response.Redirect("../Login.aspx?ReturnPath=" + Request.Url.ToString());

このコードがスターズ-サービスページで実行できるから任意のフォルダです。どうやっていけばいいですか?す。

役に立ちましたか?

解決

になると思いまの"~/"に置き換えに"/"していることがでのルート

停もすぐそこ! :-)場合を除きたいhardcodeウェブアプリでのみインストールできるルートのウェブサイトです。

"~/" 正しいものを使用すが、このオリジナルのコードは動作しなかったとして期待すること ResolveUrl (内部で使用される Redirect)を初出場のパスをお渡しでは絶対URL(例えば"**http://server/**foo/bar.htm"か"foo/bar.htm"が、残念なことになるだけで見にコロン文字':'のURLにお願いしますこの場合で見ると、大腸のURLにお願いしまし ReturnPath クエリ文字列値は、有名なこのための"~/'がない決まります。

に固定する必要がありますURLエンコーディングの ReturnPath 値をエスケープに問題があ':'なり、その他の特殊文字です。

Response.Redirect("~/Login.aspx?ReturnPath=" + Server.UrlEncode(Request.Url.ToString()));

また、うることをお勧めしたもの)を使わない Uri.ToString なので、人間が読める形式で、ガスタービンビジネスセンター"バージョンのURLは、必ずしも正しいのでunescapesい?代わりに使用Uriです。AbsoluteUri-このように:

Response.Redirect("~/Login.aspx?ReturnPath=" + Server.UrlEncode(Request.Url.AbsoluteUri));

他のヒント

きを解決することができ、URLの最初 に応じます。リダイレクト("~/ログインします。aspx);追加のパラメータになった後に決まります。

何に利用

Response.Redirect(String.Format("http://{0}/Login.aspx?ReturnPath={1}", Request.ServerVariables["SERVER_NAME"], Request.Url.ToString()));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top