-2

新しいウィンドウで別のウェブサイトにリダイレクトするために、すばやく汚いページをまとめようとしています。

だから私はセッションにURLを隠し、mvcSiteMapからページにリダイレクトし、ページをヒットします...

このJavaScriptを実行します

    $(document).ready(function () {
        window.open( '@HttpContext.Current.Session["EisUrl"].ToString();' );
    });


</script>

}

そして、google.comを指す新しいウィンドウを開く代わりに、このメッセージで同じウィンドウが表示されます。

ビュー「http://google.com」またはそのマスターが見つからなかったか、検索された場所をサポートするビューエンジンがありません。次の場所が検索されました:〜/ Views / ReportsManagement / http://google.com.aspx〜/ Views / ReportsManagement / http://google.com.ascx〜/ Views / Shared / http://google.com。 aspx〜/ Views / Shared / http://google.com.ascx〜/ Views / ReportsManagement / http://google.com.cshtml〜/ Views / ReportsManagement / http://google.com.vbhtml〜/ Views / Shared / http://google.com.cshtml〜/ Views / Shared / http://google.com.vbhtml

つまり、外部URLはまだWebサイトの内部にあるかのように扱われます...

これはかなり単純なはずのようです.....明らかに私は明らかな何かを見逃しています。

どんな助けでも大歓迎です。

4

4 に答える 4

3

セッションからレンダリングされているものが、期待どおりの正しい整形式の URL であることを確認してください。私は通常window.location、JavaScriptでもリダイレクトするために使用します。

于 2012-09-06T21:46:43.127 に答える
3

まったく範囲外かもしれませんが、でこれを行うことはできませんActionResultか?

return Redirect("http://www.google.com");
于 2012-09-06T21:50:08.233 に答える
1

試す

window.location = '@HttpContext.Current.Session["EisUrl"].ToString()';

于 2012-09-06T21:46:24.547 に答える
0

私はそれを理解しました、私はid 10 tでした、

私はこれをビューに持っていました(かみそり)

@model string

そしてこれはコントローラーで

public ActionResult GetEisReportRedirect()
        {
            string url =  eisReportBLLHdl.DoGetEisReportRedirect(  );

            return View( url );// i was passing url here to the view
        }

それで、文字列をモデルとして渡そうとしていたので、正確な動作がわからないと判断し、セッションに配置するように交換しました。しかし、それらはそのままにしておきました。

何らかの理由で、文字列がURLとして挿入されていました。新しいウィンドウが開いていなかったという事実は、それが早期に軌道に乗っていなかった手がかりだったはずです。

モデルから行を削除し、戻り値のView()からURLパラメーターを削除すると...正しくリダイレ​​クトされるようになりました(新しいページではなく、取得します)

すべての助けをありがとう!

于 2012-09-06T22:49:07.643 に答える