2012-02-08 4 views
2

現在のリクエストURLを取得するために使用する方法は問わず、クエリ文字列のアンパサンドは常にエンコードされます。どのように私は、返されたURLは、この方法でエンコードされていないことを確認、そのように見えるん現在のURLを取得する - URLに複数の値を含むクエリ文字列が含まれる場合

/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge 
http://domain/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge 
http://domain/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge 

/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge 
http://domain/Controller/View?arg1=weffe&arg2=wefwe&arg3=wefewge 

Request.RawUrl 
Request.Url 
HttpContext.Current.Request.Url.AbsoluteUri 

は常にエンコードされた結果を(&に気づく)演出します

ご迷惑をおかけして申し訳ありません。

+0

ビューにURLを使用していますか?またはコントローラ内にありますか? –

+0

着信URLは実際には 'arg1 = www&arg2 = eee'ですか?どのブラウザが実際にナビゲート/リクエストしているか確認してください。 –

+0

@ChadRuppert - 私はビューでUrlを使用しています。 – dazbradbury

答えて

4

URLは実際にエンコードされていますか、ブラウザに出力していますか?ブラウザの出力はエンコードされていますか?この場合、@ Html.Raw(url)を使ってMVCの自動HTMLエンコーディングを回避することで修正できます。

+0

これは私が私の質問をした理由です。いいですよ。 –

+0

ありがとう、私はそれが何か単純なことを知っていたが、何らかの理由で私は必要なものを見つけることができなかった!そう、もう一度救いなさい...! – dazbradbury

2

はでそれをコード化することなく、あなたのURLを印刷:

@Html.Raw(Request.Url) 
関連する問題