码迷,mamicode.com
首页 > Web开发 > 详细

“RazorEngine.Templating.TemplateCompilationException”类型的异常在 RazorEngine.NET4.0.dll 中发生,但未在用户代码中进行处理

时间:2017-01-05 19:58:37      阅读:458      评论:0      收藏:0      [点我收藏+]

标签:ons   for   扩展   convert   blog   user   处理   dll   程序集   

错误信息:

“RazorEngine.Templating.TemplateCompilationException”类型的异常在 RazorEngine.NET4.0.dll 中发生,但未在用户代码中进行处理

其他信息: Unable to compile template. “object”不包含“username”的定义,并且找不到可接受类型为“object”的第一个参数的扩展方法“username”(是否缺少 using 指令或程序集引用?)

 

Other compilation errors may have occurred. Check the Errors property for more information.

 

解决方法:

需要将传给cshtml的model给序列化一下,在传递过去,不然就会报错。

1.有可能是传递过去的model是匿名类,但有时声明了一个类也会报这个错误。(可尝试声明一个类传递过去)

2.第一个方法不行就只能用下面的方法,把这个model序列化一下再传递给cshtml,这个方法返回一个动态类型的model。如下:

static dynamic ToDynamic(object obj)
{
    string json = JsonConvert.SerializeObject(obj);
    dynamic dyObj = JsonConvert.DeserializeObject(json);
    return dyObj;
}

这个方法需要引入Newtonsoft.Json.dll库(用最新的.net4.5的)

 

 PS:在cshtml最开始最好放上:(注意大小写)

@model dynamic

 

这回 再在编译cshtml代码时,就不会再报上面的错误。

 

“RazorEngine.Templating.TemplateCompilationException”类型的异常在 RazorEngine.NET4.0.dll 中发生,但未在用户代码中进行处理

标签:ons   for   扩展   convert   blog   user   处理   dll   程序集   

原文地址:http://www.cnblogs.com/landfill/p/6253684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!