Razor模板C#抛出异常:';TemplateCompilationException';在RazorEngine.dll中

Razor模板C#抛出异常:';TemplateCompilationException';在RazorEngine.dll中,c#,asp.net-mvc,templates,razor,C#,Asp.net Mvc,Templates,Razor,我正在尝试使用Razor引擎在我的C#项目中创建一个模板。应该根据从数据库中获取的值填充模板。 模板看起来像 <table> <tr> <td> Tier : </td> <td> @Model.tier</td> </tr> <tr> <td> Author : </td> &l

我正在尝试使用Razor引擎在我的C#项目中创建一个模板。应该根据从数据库中获取的值填充模板。 模板看起来像

<table>
    <tr>
        <td>  Tier : </td>  
        <td> @Model.tier</td>
    </tr>

    <tr>
        <td>  Author : </td>
        <td> @Model.author</td>
    </tr>

    <tr>
        <td>  Quotation For : </td>
        <td> @Model.quotationFor</td>
    </tr>
</table>
 var model = new List<KeyValuePair<string, object>>();
 for (int i=0;i<value.Count;i++) {
      model.Add(new KeyValuePair<string, object>(name[i], value[i]));
 }
 var template = File.ReadAllText(HttpContext.Current.Server.MapPath("Templates/dataDump.html"));
 var body = Razor.Parse(template, model);

看起来您正在尝试传递一个非常复杂的模型,但您在模板中没有很好地定义该模型

应该是这样的

  var body =  Razor.Parse(template, new {tier = "tier", author="author",quotationFor=".quotationFor"});
如果你想让它像你展示的那样充满活力

var model = new List<KeyValuePair<string, object>>();
var模型=新列表();
您必须修改模板

<table>

@foreach(var item in Model)
{
    <tr>
        <td>@item.Key </td>  
        <td>@item.Value</td>
    </tr>
}
</table>

@foreach(模型中的var项目)
{
@项目.关键
@项目.价值
}

上述方法可行,但它是硬编码的。我需要列表是动态的,所以像new{name[I]=value[I],name[I+1]=value[I+1]..}这样的东西我如何创建这样一个模型呢?我跟随这个博客来解决这个问题
<table>

@foreach(var item in Model)
{
    <tr>
        <td>@item.Key </td>  
        <td>@item.Value</td>
    </tr>
}
</table>