Spark View引擎,覆盖$ {}行为

时间:2011-03-24 10:51:42

标签: c# xml spark-view-engine

我想知道你们是否可以帮助我。我已经使用Spark视图引擎创建了自己的模板引擎,最终创建了一个Excel文件。

但是我遇到了一个问题。在此过程中,我将结果火花输出推送到XmlDocument中。这导致我出现由spark产生的非法字符的问题。例如

<foo>
    <bar>${Model.Something}</bar>
</foo>

由Spark解析以生成

<foo>
    <bar>This < is a problem</bar>
</foo>

所以我希望有一些我可以覆盖${},以便我可以处理非法角色。

另请注意,产生的火花输出是一个字符串。

有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

Had同样的情况,这是解决方法:

<!-- Use instead of built-in H() that only works in HTTP context (Html != null) -->
<macro name="H" html="string">${System.Web.HttpUtility.HtmlEncode(html)}</macro>

通过这种方式,您无需更改视图,只需像往常一样重新定义H()和do $ {H(Model.Something)}。

您也可以将此宏放入\ Shared_global.spark中,以便它影响所有视图。