如何正确编码ASP.NET中的URL?

时间:2018-04-05 11:29:27

标签: html asp.net-mvc url encoding view

在我的数据库中,我的网址以http://SOMEURL开头,有些只是www.SOMEURL。

在我看来,如果我只是放<a href="@Model.URL">它就无法正常工作。 当我尝试在本地浏览时,它会添加http://localhost/SOMEURL

如何在ASP中处理这个BASIC功能?

google.com https://www.google.com

1 个答案:

答案 0 :(得分:1)

您应该手动检查http前缀。 URL将在ASP.NET MVC中自动编码(例如替换特殊字符)。

在Razor View中(.cshtml;文件顶部的任意位置)

@functions
{
    public string PrefixUrl(string url)
    {
        return url.StartsWith("http") ? url : string.Format("http://{0}", url);
    }
}

我希望我们现在可以假设 https ,但可能使用 http 更安全。

然后,在View中,使用:

<div>
    <a href="@PrefixUrl(Model.Url)">Link</a>
</div>
相关问题