RazorでURLをエンコードする適切な方法は何ですか?私の試みでは、スペースを%20
に変更していません。RazorのURLの一部を符号化します
survey.Name
<a href="~/Survey/Take/@Uri.EscapeDataString(survey.Name)">@survey.Name</a>
RazorでURLをエンコードする適切な方法は何ですか?私の試みでは、スペースを%20
に変更していません。RazorのURLの一部を符号化します
survey.Name
<a href="~/Survey/Take/@Uri.EscapeDataString(survey.Name)">@survey.Name</a>
あなたはこのようUrl.Encodeを使用することができます側の注意点として
@Html.ActionLink(survey.Name, "Take", "Survey", new { name = Url.Encode(survey.Name) }, new { })
、リンクはスペースをコードせずに動作します。電子メールのように、あなたのアプリの外でリンクが使用されるときには、それをエンコードする必要があります。
リンク上をクリックしてマウスを動かしても、ローカルであり外部ではないので、現在はスペースが表示されます。 – Tsukasa
@Tsukasa鉱山では、Url.Encode()を使用してエンコードされたスペースが表示されます。私のサイドノートは、リンクがまだスペースで動作することを意味しました。 –
HttpUtility.UrlPathEncodeコントローラに渡される変数は、あなたのケースで正常に動作する必要があります。試してみた!
Here's a working fiddle example
<a href="~/Survey/Take/@HttpUtility.UrlPathEncode(survey.Name)">@survey.Name</a>
'@Html.Encode(survey.Name) 'を使用するとどうなりますか – Hackerman
@Hackermanはまだそれをエンコードしません。 – Tsukasa
@ HttpUtility.UrlPathEncode(survey.Name) –