I'd like to use the Razor engine without view (cshtml) files, but on strings. I want to do it from within MVC, I've seen examples that use
new RazorViewEngine().Render
but I can't find the Render method, is it something from the older days of MVC?
I've also seen examples that use Razor.Parse, but I can't find it either - probably missing a reference (but it should be there if I'm using MVC already, right?)
Is it advisable at all to use Razor if all I need to do is inject 3-4 parameters into an HTML string? I think I'm a bit infatuated with MVC right now and might not be thinking straight. I'm planning to cache the HTML strings in memory and just pass-in models from DB.
Thank you
There is a RazorParser class with Parse method which takes TextReader as an input parameter. However whole System.Web.Razor.Parser namespace is marked as
so you have to figure it out by yourself.
In order to use the RazorEngine to parse strings, you will need the RazorEngine.dll, which can be downloaded from http://razorengine.codeplex.com/
To parse a string with the Razor engine just use the following example:
As to whether or not it is advisable to use it for parsing a string, really depends on what you are using it for. If you think you are going to need the flexibility that Razor offers, I would recommend it, but it does come with a bit of a performance hit when comparing it to a standard string replace.
You may take a look at RazorEngine.