Как безопасно генерировать внешние ссылки? - PullRequest
0 голосов
/ 14 февраля 2020

Я хотел бы создать ссылку HTML на мой взгляд, которая ведет на внешний сайт и содержит динамический c компонент URL.

Я пробовал это:

<a href="https://stackoverflow.com/users/@item.Title">
    @Html.DisplayFor(modelItem => item.Title)
</a>

, где item.Title - динамическая c строка. Если я использую @item.Title, он безопасно HTML кодируется, но не кодируется по URL. Так что, если строка содержит /, например, мой URL будет сломан. Как я могу URL закодировать это? Есть ли вспомогательный тег, который может сгенерировать ссылку для меня?

1 Ответ

1 голос
/ 17 февраля 2020

Попробуйте использовать System. Net .WebUtility.UrlEncode в бритве, как:

@{ 
    var title = System.Net.WebUtility.UrlEncode(item.Title);
}
<a href="https://stackoverflow.com/users/@title">
    @Html.DisplayFor(modelItem => item.Title)

</a>
...