Asp.net mvc ';型号';与声明模型冲突
编辑:Asp.net mvc ';型号';与声明模型冲突,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,编辑: 传真号码: @DisplayFor(Model=>Model.FaxNumber) 联系人姓名: @Html.DisplayFor(Model=>Model.ContactFirstName) @DisplayFor(Model=>Model.ContactLastName) 联系审核日期: @if(item.AuditDate.HasValue!=null) { @DisplayFor(x=>x.AuditDate.Value.ToString(“d”)) } 我花了大量的
传真号码:
@DisplayFor(Model=>Model.FaxNumber)
联系人姓名:
@Html.DisplayFor(Model=>Model.ContactFirstName)
@DisplayFor(Model=>Model.ContactLastName)
联系审核日期:
@if(item.AuditDate.HasValue!=null)
{
@DisplayFor(x=>x.AuditDate.Value.ToString(“d”))
}
我花了大量的时间试图弄清楚为什么会出现这个错误,我已经扫描了网络,但没有得到任何解决方案,我试图检查该值是否为null,但我得到了以下错误:
我认为:
<p>
<span class="strong">Fax Number:</span> 
@Html.DisplayFor(Model => Model.FaxNumber)
</p>
<p>
<span class="strong">Contact Name:</span> 
@Html.DisplayFor(Model => Model.ContactFirstName)  
@Html.DisplayFor(Model => Model.ContactLastName)
</p>
<p>
<span class="strong">Contact Audit Date:</span> 
@if (item.AuditDate.HasValue != null)
{
@Html.DisplayFor(x => x.AuditDate.Value.ToString("d"))
}
@model myapp.Models.Employee
@如果(Model.AuditDate.HasValue!=null)您在下面的语句中使用的是Model
keword
@model myapp.Models.Employee
@if(Model.AuditDate.HasValue !=null) <<<< getting error on Model here
{
@Html.DisplayFor(x => x.AuditDate.Value.ToString("d"))
};
您还在lambda表达式中为@Html.DisplayFor()
帮助程序使用Model
关键字,从而导致错误。注意:如果将if
语句放在所有DisplayFor
帮助程序之前,则会出现不同的错误
无法在此范围内声明名为“Model”的局部变量,因为它将赋予“Model”不同的含义
将代码更改为
@if (Model.AuditDate.HasValue != null)
只需使用@Html.DisplayFor(m=>m.AuditDate)
。不需要if
块。如果AuditDate
有一个值,它将根据格式呈现,否则如果它的null
,则不会呈现任何内容。不相关,但它只是@如果(Model.AuditDate.HasValue){
您确定视图中的其他地方没有类似于@Html.DisplayFor(Model=>Model.SomeProperty)
的内容吗(大写M)?Model
是视图中的保留关键字(不能在lambda表达式中使用),因此使用@Html.DisplayFor(M=>M.FaxNumber)
等。我试图使用m
或model
或其他什么,但仍然收到此错误,因此如果我使用m
则错误为:名称“m”在当前上下文中不存在
错误仅发生在@如果(m.AuditDate.HasValue
叹气!…我现在得到了它,所以我应该在整个视图中使用它,而不是使用模型
使用m或模型或其他什么
,并且在进行任何检查时直接使用模型
,谢谢您的帮助-:)
<p>
<span class="strong">Fax Number:</span> 
@Html.DisplayFor(m => m.FaxNumber)
</p>
<p>
<span class="strong">Contact Name:</span> 
@Html.DisplayFor(m => m.ContactFirstName) 
@Html.DisplayFor(m => m.ContactLastName)
</p>
<p>
<span class="strong">Contact Audit Date:</span> 
@if (Model.AuditDate.HasValue)
{
@Html.DisplayFor(x => x.AuditDate.Value.ToString("d"))
}
</p>
[DisplayFormat(DataFormatString = "{0:dd MMMM yyyy"})]
public DateTime? AuditDate { get; set; }