我在C#ASP.NET MVC5項目中有兩個cshtml
視圖。這些視圖處理用戶配置文件和公司配置文件。CSHTML文件中lambda表達式的運行時編譯器問題
我正在編輯字段,以便用戶可以填寫他們的個人資料。
在用戶配置文件視圖中,編輯器中的lambda表達式無法在瀏覽器中編譯。 用戶視圖的相關部分:
@model Project.Models.UserProfileViewModel
@{
ViewBag.Title = "User Profile";
}
<h2>User Profile</h2>
@using (Html.BeginForm("UserProfile", "Profile", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div>
@Html.LabelFor(model -> model.Salutation)
@Html.EditorFor(model -> model.Salutation)
</div>
}
而公司視圖相匹配的部分:
@model Project.Models.CompanyProfileViewModel
@{
ViewBag.Title = "Step 2: Company Profile";
}
<h2>Company Profile</h2>
@using (Html.BeginForm("CompanyProfile", "Profile", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div>
@Html.LabelFor(model => model.CompanyName)
@Html.EditorFor(model => model.CompanyName)
</div>
}
用戶視圖錯誤是:
服務器錯誤 '/'應用。
編譯錯誤
說明:該請求提供服務所需的資源 的編譯過程中出現錯誤。請查看以下具體的 錯誤細節並適當修改您的源代碼。
編譯器錯誤信息:CS0103:名稱「模式」不會在 當前上下文
公司視圖工作得很好存在。對於它的價值,當我使用@Html.EditorForModel()
時,用戶視圖工作得很好。
我沒有看到我的視圖之間有任何區別,那麼爲什麼lambda表達式僅在一個視圖中失敗了JIT編譯?
作爲一個側面問題,Razor v3沒有突出我的觀點,也沒有提供智能感知。但這是另一篇文章的問題。
替換模型 - > model.Salutation與模型=> model.Salutation – Miller