2014-11-24 61 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