2017-08-02 4 views
0

現在、私は外部ウェブサイトに実装されているMVC登録ページを持っています。外部ウェブサイトのURLパラメータを引き出す

私の質問は、特定のパラメータの以前のウェブサイトのクエリ文字列を抽出し、それを私のページに読み込んで、指定されたグループにユーザを登録する必要があります。次のように

だからワークフローが見えます:

  • ユーザーは外部のウェブサイト(例:www.test1.com/default.aspx?Code=123asd)に当たるクエリ文字列内のコードで

  • ユーザーがを今すぐ登録と私のページに誘導されます。

以前のクエリーコードをMVCページにどのように読み込むことができますか?私はそのウェブサイトにアクセスできない。

EDIT

私は現在、現在のクエリ文字列を読み取りますが、これは以前のリクエストのクエリ文字列を引っ張っていないforeach文を持っている:

private static string getCode() 
    { 
     string nothing = null; 

     string[] queryStringParaArray = HttpContext.Current.Request.UrlReferrer.Query.Substring(1).Split('='); 

     if (queryStringParaArray.Length > 0) 
     { 
      foreach (var para in queryStringParaArray) 
      { 
       if (para.Contains("Code")) 

        return queryStringParaArray[2]; 
      } 


     } 
     return nothing; 

    } 
+0

MVC 7のようなものはありません。あなたが望むものは、確実に実装することもできません。 2番目に良いことは、実際にリンクサイトにURLにクエリ文字列を追加させることができる場合です。 – CodeCaster

答えて

0

あなたはのURLが含まれているHttpRequest.UrlReferrerプロパティを試してみました現在のURLにリンクしているクライアントの以前の要求これによりUriオブジェクトが返され、Queryプロパティにアクセスして、そのクエリ文字列値を取得できます。

HttpContext.Request.UrlReferrer 

**ミニノート:すでに述べたようにコメントし、呼ばURLが存在することになるので、それは同様nullことができることを保証するものではありません。したがって、Registerボタンをクリックしながら、クエリ文字列情報をMVCコントローラに直接渡すことをお勧めします。

+0

_If_クライアントが送信するように設定されている場合、送信元サイトはHTTPSではなく、クライアントが送信するヘッダーであるため変更することはできません。 – CodeCaster

+0

@CodeCaster、はい真...答えにノートを追加しました – Rahul

+0

@Rahul私は現在、パラメータ "Code"を検索するためにforeachステートメントでこれを持っています。クエリーストリングは以前のリクエストを引き出すものではありません。私の質問に編集としてコードを追加します。 –

関連する問題