user1916015
user1916015

Reputation: 308

Evaluate c# code as string in a aspx file

I have this problem: From a database, held up a string, which contains HTML mixed with C# code. I wish I could run correctly both codes on my page .aspx.

e.g. in my .aspx:

<div><%= Model.repo.getCode() %></div>

and the getCode() method give me this:

<div id="secondDiv"><p><%= Model.Person.Name %></p></div>

so I want the final html file look like:

<div><div id="secondDiv"><p>Jhon</p></div></div>

any suggestion?

Upvotes: 20

Views: 484

Answers (2)

Kleinux
Kleinux

Reputation: 1541

Take a look at this project as it helped me with a similar problem: https://github.com/formosatek/dotliquid Basically you can bind whatever objects to a template and that template can call properties of you objects and even use conditional logic and loops.

Upvotes: 0

indiPy
indiPy

Reputation: 8062

There may be direct way to bind such value, But if you could store String.Formatable into database then it would be easy to bind the data needed.

Using String.Format you achieve like,

returned string from Model.repo.getCode() (see curly braces)

    "<div id="secondDiv"><p>{0}</p></div>"; 

And in ASP code,

    <div><%= string.format(Model.repo.getCode(),Model.Person.Name) %></div>

Upvotes: 1

Related Questions