2011-05-09 50 views
4

我想在StringTemplate中使用類似的東西 - 調用在執行渲染的應用程序中定義的函數,這可能嗎?StringTemplate中的回調函數或簡單的算術運算

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

我可以使用自定義類型/班只是爲這個領域,但似乎有點togheter而不是砍死真正解決這個問題,它不會讓我在參數傳遞就我知道的。

我想這個,因爲我想讓用戶自定義模板,例如:我知道多少寬度我有文章可用,但我希望用戶能夠指定填充,以便我可以生成最佳圖像該模板內的縮略圖。

或者,如果是可以用簡單的算術,那將是另一種解決問題的辦法,這樣的事情也許是:

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

我一直在到處找這一點,沒有發現任何信息。 ..

我寧願使用StringTemplate,因爲應用程序已經使用它,但如果它更合適,我可以切換到別的東西,也許我應該看看NVelocity?

+0

不,您不能在StringTemplate中進行任何計算,因爲這會混合模型和視圖行爲。 – I82Much 2011-05-09 16:52:41

+0

doh,看起來我將不得不採取另一條路線,然後... – possan 2011-05-09 19:57:49

回答

2

正如I82Much在他的評論中所說的,StringTemplate不支持計算。

一個解決方案是使用一個新屬性來豐富您的模型,該屬性的值預先計算爲'width-50'。

如果您正在尋找替代品,並且您使用的是.net 4.0,則可以託管剃鬚刀視圖引擎並將其用作您的模板解決方案。