2016-05-12 12 views
0

Ich habe diese Fehlermeldung erhalten "Fehler 2'Model" Konflikte mit der Deklaration 'System.Web.Mvc.WebViewPage.Model' und ich kann nicht herausfinden, wie es zu beheben.Modell Konflikte mit der Deklaration

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; } 
    } 

Ich habe diese partielle Klasse und fügen Sie die GenderData Eigenschaft der Lage sein, eine Liste von Select Gegenstände zu übergeben.

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

Ich erhalte die Konflikt Fehlermeldung in dem unten Stück Code.

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

Ich habe nach einer Lösung auf Google gesucht. Die meisten Fixes haben etwas damit zu tun, dass jemand "Modell" anstelle von "Modell" verwendet. Dies ist hier nicht der Fall.

+1

Der Code, den Sie angezeigt haben, verursacht diesen Fehler nicht und wird durch andere Codes verursacht. Es ist in der Regel ein Ergebnis der Verwendung von '@ Html.SomeMethod (Model => Model.SomeProperty)' (beachten Hauptstadt 'M' Model) gefolgt von etwas wie'

@Model.SomeProperty
' –

+0

@Stephen Mücke, ich war so frustriert, dass ich musste verlasse meinen Schreibtisch. Dann lese ich Ihren Kommentar und komme zurück, um den Code zu überprüfen. Ich ging zurück und ging akribisch den Code durch. Dann schaute ich auf alle versteckten Felder und fand es. Könnten Sie bitte Ihren Kommentar als Antwort geben? –

Antwort

1

Der Code, den Sie angezeigt haben, wird nicht zu diesem Fehler führen. Sein, weil irgendwo erzeugt in Ihnen sehen Sie eine HtmlHelper Methode mit einem Ausdruck mit Kapital M Model, gefolgt von einem weiteren Bezug auf @Model zum Beispiel verwendet

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

Beachten Sie auch, dass, wenn Sie die Reihenfolge der oben genannten Elemente ausgetauscht, Sie würden eine andere Ausnahme bekommen.

Verwandte Themen