Asp.net mvc 在RazorEngine.dll中使用条件块

Asp.net mvc 在RazorEngine.dll中使用条件块,asp.net-mvc,parsing,c#-4.0,razor,Asp.net Mvc,Parsing,C# 4.0,Razor,我正在使用razorEngine.dll解析电子邮件模板以解析业务对象。到目前为止,它一直工作得很好。我还希望能够用剃须刀引擎做一些类似于@if block的事情 我知道MVC Razor view可以做到这一点,但我不确定razorengine.dll是否能够做到这一点 我有以下抛出错误的代码。也许我对语法不是很在行。RazorEngine.dll上的文档没有提到任何关于条件块的内容 我尝试了以下类似的方法,该方法会引发解析错误: const string template = "<ht

我正在使用razorEngine.dll解析电子邮件模板以解析业务对象。到目前为止,它一直工作得很好。我还希望能够用剃须刀引擎做一些类似于@if block的事情

我知道MVC Razor view可以做到这一点,但我不确定razorengine.dll是否能够做到这一点

我有以下抛出错误的代码。也许我对语法不是很在行。RazorEngine.dll上的文档没有提到任何关于条件块的内容

我尝试了以下类似的方法,该方法会引发解析错误:

const string template = "<html>Welcome, your answer is @if(Model.User.Qualified){Congratualtions}</html>";
            dynamic model = new ExpandoObject();
            model.User = new
                             {
                                 Qualified = true
                             };
            var body = uut.RenderTemplate(template, model);
conststringtemplate=“欢迎,您的答案是@if(Model.User.Qualified){congreatualtions}”;
动态模型=新的ExpandooObject();
model.User=new
{
合格=正确
};
var body=uut.RenderTemplate(模板、模型);

有什么建议吗?

if块中有
祝贺词。razor引擎认为这是一段代码——因此是一个语法错误。是的,当我清空if块时,您是正确的,这不是抛出错误,但问题是,如果Qualified==true,我希望它输出祝贺,否则输出“对不起”。如果我不能有简单的文字,那么我如何才能做到呢?我必须把这两条短信都作为@Model的一部分吗?我相信
@恭喜你
应该可以做到这一点。但这是未经测试的。事实上,{祝贺你

}成功了。非常感谢:)