2012-09-06 56 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逃避其论点