2016-10-28 8 views
3

RazorでURL​​をエンコードする適切な方法は何ですか?私の試みでは、スペースを%20に変更していません。RazorのURLの一部を符号化します

survey.Name

<a href="~/Survey/Take/@Uri.EscapeDataString(survey.Name)">@survey.Name</a> 
+0

'@Html.Encode(survey.Name) 'を使用するとどうなりますか – Hackerman

+0

@Hackermanはまだそれをエンコードしません。 – Tsukasa

+0

@ HttpUtility.UrlPathEncode(survey.Name) –

答えて

2

あなたはこのようUrl.Encodeを使用することができます側の注意点として

@Html.ActionLink(survey.Name, "Take", "Survey", new { name = Url.Encode(survey.Name) }, new { }) 

、リンクはスペースをコードせずに動作します。電子メールのように、あなたのアプリの外でリンクが使用されるときには、それをエンコードする必要があります。

+0

リンク上をクリックしてマウスを動かしても、ローカルであり外部ではないので、現在はスペースが表示されます。 – Tsukasa

+0

@Tsukasa鉱山では、Url.Encode()を使用してエンコードされたスペースが表示されます。私のサイドノートは、リンクがまだスペースで動作することを意味しました。 –

関連する問題