2012-09-06 83 views
1

我是Haxe的新手,我正在嘗試使用Ufront。 我使用erazor模板時遇到了一個問題:我不知道如何在輸出變量時轉義html。如何Html在Erazor逃脫?

有了這個簡單的模板:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
     "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <title>Users list</title> 
</head> 
<body> 
    <ul> 
     @for(user in users) 
     { 
      <li>@user.name</li> 
     } 
    </ul> 
</body> 

</html> 

如果任何用戶都有名「<script>」,那麼該模板將簡單地輸出它的名字。

我該如何正確地在Erazor中跳轉?

回答

2

Ufron自動包括了包含所需的方法的輔助類:

<li>@Html.encode(user.name)</li> 
3

由於佛朗哥請幫助,我已經寫在ufront網站頁面來解釋如何在ufront HTML逃生。我把這裏當作興趣的人一個答案......

如何將HTML逃生視圖參數

爲了的HTML您erazor意見逃脫的說法, 你可以簡單地使用HTML輔助方法編碼() 。

假設你的觀點被稱爲pageContent,它的價值是:

@Html.encode(pageContent) 

你的模板將被安全地呈現爲

&lt;script&gt; 
    alert("BAD things could happens if you don't properly escape!!"); 
&lt;/script&gt; 

<script> 
    alert("BAD things could happens if you don't properly escape!!"); 
</script> 

您可以使用下面的代碼轉義

Html.encode()在orde內部使用StringTools.htmlEscape() r逃避其論點