StringTemplate中的回调或简单算术

时间:2011-05-09 14:54:41

标签: c# templates stringtemplate

我想在StringTemplate中使用类似的东西 - 调用在执行渲染的应用程序中定义的函数,这可能吗?

<div> $renderArticle(article,width,padding)$ </div>

我可以只为这个字段使用一个自定义类型/类,但这似乎有点被黑客攻击而不是问题的真正解决方案,而且据我所知它不会允许我传入参数。

我希望这是因为我想允许用户自定义模板,例如:我知道我可以为文章提供多少宽度,但我希望用户能够指定填充,以便我可以生成最佳图像缩略图在那个模板里面。

或者,如果可以使用简单的算术,这将是问题的另一种解决方案,也许这样:

... width="$width-50$ ...

我一直在寻找这个,没有找到任何信息......

我宁愿使用StringTemplate,因为应用程序已经使用它,但是如果它更适合我可以切换到别的东西,也许我应该看看NVelocity?

1 个答案:

答案 0 :(得分:2)

正如I82Much在他的评论中所说,StringTemplate不支持计算。

一种解决方案是使用新属性来丰富您的模型,该属性的值预先计算为“width-50”。

如果您正在寻找替代方案,并且您正在使用.net 4.0,则可以托管剃刀视图引擎并将其用作模板解决方案。