首页 > Web开发 > 详细

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

时间:2017-01-05 19:56:22      阅读:431      评论:0      收藏:0      [点我收藏+]

错误信息:

“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 中发生,但未在用户代码中进行处理

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!