程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> “RazorEngine.Templating.TemplateCompilationException”類型的異常在 RazorEngine.NET4.0.dll 中發生,但未在用戶代碼中進行處理,razortemplate

“RazorEngine.Templating.TemplateCompilationException”類型的異常在 RazorEngine.NET4.0.dll 中發生,但未在用戶代碼中進行處理,razortemplate

編輯:關於.NET

“RazorEngine.Templating.TemplateCompilationException”類型的異常在 RazorEngine.NET4.0.dll 中發生,但未在用戶代碼中進行處理,razortemplate


錯誤信息:

“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代碼時,就不會再報上面的錯誤。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved