2014-11-24 71 views
0

我使用剃刀MVC3和ASP.NET4.5如何使用<z>代替@在电子邮件地址@</z>和不习惯<代替

我需要在一个HTML电子邮件显示[email protected]

由于电子邮件客户端添加mailto链接到电子邮件地址的问题我需要改变它们以防止这种情况发生。一个建议是添加一个不存在的标签,如<z>。我曾尝试:

@(username.Replace("@","<z>@</z>")) 

但这输出:

jim&lt;z&gt;@&lt;/z&gt;bloggs.com 

我怎样才能保证我得到的HTML如下:

jim<z>@</z>bloggs.com 

我怀疑一些好办法来:

@(username.Replace("@","<z>@</z>")) 

就是答案。提前致谢。

回答

1

您应该使用@Html.Raw()方法,因为字符串转义默认在Razor中打开。

@Html.Raw(username.Replace("@","<z>@</z>")) 

虽然会有这件事安全方面的考虑,因为它是一个潜在的XSS漏洞,所以你最好先躲避用户名的初始值,随后将应用代码插入。

+0

当然......完全忘了。谢谢 – SamJolly 2014-11-24 22:19:30