我一直收到此错误消息'错误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上搜索了一个解决方案。大多数修复程序与使用“模型”而非“模型”的人有关。这不是这种情况。
答案 0 :(得分:1)
您显示的代码不会导致该错误。它的生成是因为您查看的某处使用了HtmlHelper
方法,其中包含使用大写M
模型的表达式,后跟另一个对@Model
的引用,例如
@Html.TextBoxFor(Model => Model.SomeProperty)
....
<div>@Model.AnotherProperty</div>
另请注意,如果您交换了上述元素的顺序,则会得到不同的异常。