4

I'd like to use something like this in StringTemplate - to call a function defined in the application that does the rendering, is that possible?

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

I could use a custom type/class just for this field but that seems a bit hacked togheter and not a real solution to the problem, and it wont allow me to pass in arguments as far as i know.

I want this becuase i want to allow users to customize templates, for example: i know the how much width i have available for the article but i want the user to be able to specify padding so that i can generate optimal image thumbnails inside that template.

Or, if is it possible to use simple arithmetics, that would be another solution to the problem, something like this perhaps:

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

I have been looking all over for this and not found any information...

I'd rather use StringTemplate because the application already uses it, but i could switch to something else if it's more suitable, maybe i should take a look at NVelocity?

possan
  • 475
  • 3
  • 15

1 Answers1

2

As I82Much says in his comment, StringTemplate doesn't support calculations.

One solution is to enrich your model with a new property whose value is pre-calculated as 'width-50'.

If you're looking for an alternative, and you're using .net 4.0, you can host the razor view engine and use it as your templating solution.

Leon Bambrick
  • 26,009
  • 9
  • 51
  • 75