2016-05-12 210 views
0

我一直在收到此錯誤消息'錯誤2'模型'與聲明'System.Web.Mvc.WebViewPage.Model'衝突,我不知道如何解決它。模型與聲明衝突

public partial class Person 
    { 
     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", 
     "CA2214:DoNotCallOverridableMethodsInConstructors")] 
     public Person() 
     { 
     } 
     public int PersonID { get; set; } 
     public string FullName { get; set; } 
     public string FirstName { get; set; } 
     public virtual EHR_Gender EHR_Gender { get; set; } 
     public int GenderID { get; set; } 
     public virtual Gender Gender { get; set; } 
    } 

我創造了這個部分類,並添加GenderData屬性能夠通過的的SelectList項的列表。

public partial class Person 
    { 
     public IEnumerable<SelectListItem> GenderData { get; set; } 
    } 

我得到在下面的一段代碼衝突的錯誤消息。

@Html.DropDownListFor(m => m.Gender.Description, Model.GenderData, new { @class = "form-control" }) 

我在Google上搜索了一個解決方案。大多數修復與使用「模型」而不是「模型」的人有關。這裏不是這種情況。

+1

您顯示的代碼不會導致該錯誤,並且由其他代碼引起。它通常是使用'@ Html.SomeMethod(Model => Model.SomeProperty)'(注意大寫'M' Model)的結果,後面跟着類似於'

@Model.SomeProperty
' –

+0

@Stephen Muecke的結果,我非常沮喪以至於不得不離開我的桌子。然後,我讀了你的評論,然後回來檢查我的代碼。我回去仔細地瀏覽了代碼。然後,我看着所有隱藏的領域,並找到它。你能把你的評論作爲答案嗎? –

回答

1

您顯示的代碼不會導致該錯誤。其因爲在某處您查看已經使用了HtmlHelper方法使用資本M模型的表達,隨後另一參考@Model,例如

@Html.TextBoxFor(Model => Model.SomeProperty) 
.... 
<div>@Model.AnotherProperty</div> 

注意產生也,如果交換上述元素的順序,你會得到一個不同的例外。

相關問題