错误信息:
其他信息: 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代码时,就不会再报上面的错误。
时间: 2024-11-07 13:21:05