在aspx文件中将c#代码评估为字符串

use*_*015 19 c# string

我有这个问题:从数据库中,举起一个字符串,其中包含与C#代码混合的HTML.我希望我能在我的页面上正确运行这两个代码.aspx.

例如在我的.aspx中:

<div><%= Model.repo.getCode() %></div>
Run Code Online (Sandbox Code Playgroud)

和getCode()方法给我这个:

<div id="secondDiv"><p><%= Model.Person.Name %></p></div>
Run Code Online (Sandbox Code Playgroud)

所以我希望最终的html文件看起来像:

<div><div id="secondDiv"><p>Jhon</p></div></div>
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

par*_*agy 1

可能有直接的方法来绑定这样的值,但是如果你可以将String.Formatable存储到数据库中,那么绑定所需的数据就会很容易。

使用String.Format你可以实现类似的效果,

从 Model.repo.getCode() 返回的字符串(参见大括号

    "<div id="secondDiv"><p>{0}</p></div>"; 
Run Code Online (Sandbox Code Playgroud)

在 ASP 代码中,

    <div><%= string.format(Model.repo.getCode(),Model.Person.Name) %></div>
Run Code Online (Sandbox Code Playgroud)