質問

ASP.NET サーバー側制御可自分のページです。この場合にはたいへのリダイレクトにユーザーの外部ページに投稿すると、そのページへの何らかの理由(認証のためのインスタンス)、痛い。

An HttpWebRequest 本作は行わない場合はリダイレクトできるよう、JavaScriptを使用で場合にようになりましたが、難ればならないかもしれませんが必要なサーバサイドコードのデータとした。

だからどうやってもポストを外部のURLにリダイレクトにユーザーの結果からASP.NET codebehindコードについて教えてください。

役に立ちましたか?

解決

またこの問題を解決します。私はあなたもそれを願ってい この記事 C#コーナーでは、この例が技術的に音-少し不完全なものです。べったんに必要なヒット数の外部サイトを作ることとしていました。

かえ、ユーザーませんでした技術的に提供ですので、れたリンク先へのサポートセンターがログインしては、httpポストのための支援センターのサイトです。

このソリューション用であるHttpContext.ます。に応じます。Write()データを書き込むために、その利用のJavascriptの

<body onload=""> 

ソフォームの送信の適正なURL。

ユーザがクリックした際の飛びをサポートセンターのリンクは、以下のメソッドを呼び出書の応答やリダイレクトにユーザー:

public static void PassthroughAuthentication()
{

    System.Web.HttpContext.Current.Response.Write("<body 
    onload=document.forms[0].submit();window.location=\"Home.aspx\";>");

    System.Web.HttpContext.Current.Response.Write("<form name=\"Form\" 
    target=_blank method=post 
    action=\"https://external-url.com/security.asp\">");

    System.Web.HttpContext.Current.Response.Write(string.Format("<input 
       type=hidden name=\"cFName\" value=\"{0}\">", "Username"));

    System.Web.HttpContext.Current.Response.Write("</form>");
    System.Web.HttpContext.Current.Response.Write("</body>");
}

このメソッドがonloadビットの、Javascriptがページの本文に負荷を提出の後にリダイレクトにユーザーの奥に自分のホームページです。その理由のhoodooあるいは外部サイト新しいウィンドウがたいと思っているユーザーへの再提出の隠れた形式の場合もリフレッシュします。プラスと隠れた形で進行し、ページ、数ピクセルがなくなったところで私の神経を使うもの。

私は非常に興味をもったクリーナーアイデアはありがたいですよねありがとうございます。

エリック-Sipple

他のヒント

ただこの例から CodeProject

その代わりに加え、そのページで貸出し致しまsaalon(上)となった。Write().

きっと幸せにしてあげれると思うの後のコードで使用するHttpWebRequestクラスです。このヘルパークラスを取りを開始:

http://geekswithblogs.net/rakker/archive/2006/04/21/76044.aspx

からはがしたりすることも可能ですいきます。リダイレクトになるのかもしれないしが必要になりの行動の成果に基づいて、ポスト(エラーがあった場合は、表示し、ユーザーなど).と思いきっての回答のご質問に正直であること-音声のようにお考えではリダイレクト時に実現できないがしろにするこ両方からのコードを作ります。

そして、このレンダリング形式のオートポス(JavaScript)をご希望のリモートURL集な情報が必要なのは、webフォームの可次のHTMLのリモート-投稿形を描画するのです。

仕組みを構築したユーティリティクラスはこのが含まれるリモートURLを集めたの名前と値のペアの形式です。

クロス-ページに掲載する場合の両方のページに関わせが必要な場合は投稿サイトについて当サイトから(PayPalなど)を行います。

使用している場合は、ASP.NET 2.0で実行できること クロス-ページに掲載.

編集:だったので買ってきたことをまいて 外部 ページです。たいと思いましてもらう必要がありASP.NET ページgen、HTML形式の動に設定リモートURLおよび方法を設定します。(クロス-ページに掲載することで、異なるページの無いUIは、隠れた形式です。) それがすべてのビットのwebブラウザでjavascriptの実行を提出しを可の結果を受けたのです。

もし同じウィンドウに対し可能フレーム問題に元のページから、それ替え、外部サイトコード:

Private Sub ExternalRedirector(ByVal externalUrl As String)
    Dim clientRedirectName As String = "ClientExternalRedirect"
    Dim externalRedirectJS As New StringBuilder()

    If Not String.IsNullOrEmpty(externalUrl) Then
        If Not Page.ClientScript.IsStartupScriptRegistered(clientRedirectName) Then
            externalRedirectJS.Append("function CheckWindow() {")
            externalRedirectJS.Append("   if (window.top != window) {")
            externalRedirectJS.Append("       window.top.location = '")
            externalRedirectJS.Append(externalUrl)
            externalRedirectJS.Append("';")
            externalRedirectJS.Append("       return false;")
            externalRedirectJS.Append("   }")
            externalRedirectJS.Append("   else {")
            externalRedirectJS.Append("   window.location = '")
            externalRedirectJS.Append(externalUrl)
            externalRedirectJS.Append("';")
            externalRedirectJS.Append("   }")
            externalRedirectJS.Append("}")
            externalRedirectJS.Append("CheckWindow();")

            Page.ClientScript.RegisterStartupScript(Page.GetType(), clientRedirectName, externalRedirectJS.ToString(), True)
        End If
    End If
End Sub
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top