这里我有一个带有文本字符串的资源文件,如下所示:
亲爱的@ Model.SupporterName,来自公司的@ Model.ConsumerName @ Model.ConsumerCompany开放访问团队的下一个许可团队 工作
在我的View.cshtml上,我使用资源
中的字符串<tr>
<td class="free-text">
@Resources.ActivatedBodyText
</td>
</tr>
带有指定模型的RunCompile。
BUT!
当所有渲染的html文件看起来像:
如何使用RazorEngine ????
从资源渲染字符串答案 0 :(得分:0)
以下对我有用:
<强>结果:强>
控制器操作:
public ActionResult Index()
{
string templateStr = Resources.ActivatedBodyText;
Template product = new Template() { SupporterName = "Support1", ConsumerCompany = "Company1", ConsumerName = "Consumer1" };
string pattern = @"\@Model\.(\w+)";
Regex rgx = new Regex(pattern);
MatchCollection matches = rgx.Matches(templateStr);
foreach (Match match in matches)
{
string capture = match.Groups[1].Value;
string propertyvalue = product.GetType().GetProperty(capture).GetValue(product).ToString();
templateStr = templateStr.Replace(match.ToString(), propertyvalue);
}
ViewBag.templateStr = templateStr;
return View();
}
说明强>