我有以下剃须刀标记
<a href="@Model.WebsiteAddress" target="_blank" rel="nofollow"><span>@Model.WebsiteAddress</span></a>
其中WebsiteAddress
是用户输入的字段。很多时候用户只是在没有http://
部分的情况下编写他们的网站地址。例如:WebsiteAddress = www.google.com
现在,当用户点击链接时,如果它不包含http://
,则会打开一个新标签,其中我的网站地址作为实际WebsiteAddress的前缀。例如:http://www.mywebsite.com/www.google.com
我该怎么做才能将地址始终链接到正确的网站?
答案 0 :(得分:0)
我不知道剃刀,但我相信这会解决问题,制作一个新的变量,你可以完全剥离http和https:
@{ var strippedUrl = @Model.WebsiteAddress.Replace("http", "").Replace("https", ""); }
然后在网址
之前输入硬代码http://
<a href="http://@strippedUrl" target="_blank" rel="nofollow"><span>@Model.WebsiteAddress</span></a>
这种方法的唯一警告是,你强迫http
超过https