Asp.net mvc 4 EditorFor和继承中的EditorFor

Asp.net mvc 4 EditorFor和继承中的EditorFor,asp.net-mvc-4,Asp.net Mvc 4,我有一个视图呈现AgreementSearch对象的EditorFor,它又有BaseEmployeeSearch对象的EditorFor,因为AgreementSearch继承自BaseEmployeeSearch。问题是BaseEmployeeSearch对象的编辑器返回的结果中没有任何内容 单独使用时,BaseEmployeeSearch对象EditorTemplate工作正常,如果问题是由于名称错误或其他原因造成的,我希望默认情况下会出现对象的.ToString编辑器 有人能解释一下吗

我有一个视图呈现AgreementSearch对象的EditorFor,它又有BaseEmployeeSearch对象的EditorFor,因为AgreementSearch继承自BaseEmployeeSearch。问题是BaseEmployeeSearch对象的编辑器返回的结果中没有任何内容

单独使用时,BaseEmployeeSearch对象EditorTemplate工作正常,如果问题是由于名称错误或其他原因造成的,我希望默认情况下会出现对象的.ToString编辑器

有人能解释一下吗

协议搜索编辑模板:

@model TimecardRepository.Models.AgreementsModels.BusinessObject.AgreementSearch

@Html.EditorForModel("_BaseEmployeeSearch")

<h4>HEY THERE!</h4>

<span class="margin_left_2em">
@Html.LabelFor(x => x.AgreementStatus, "Filter by agreement Type: ")
@Html.DropDownListFor(x => x.AgreementStatus, new SelectList(new[] 
            { 
                new { desc = "All agreement types", value = "0" }, 
                new { desc = "Disagreements Only", value = "1" }, 
                new { desc = "Agreements Only", value = "2" }, 
                new { desc = "Awaiting Agreement", value = "3" }  
            }, "value", "desc", (Model != null) ? Model.AgreementStatus : 0))
</span>

<span class="margin_left_2em">
@Html.LabelFor(x => x.AgreementStatus, "Filter by last comment: ")
@Html.DropDownListFor(x => x.AgreementStatus, new SelectList(new[] 
            { 
                new { desc = "All comment types", value = "0" }, 
                new { desc = "No comments", value = "1" }, 
                new { desc = "Last comment from Payroll", value = "2" },
                new { desc = "Last comment from Field", value = "3" }  
            }, "value", "desc", (Model != null) ? Model.CommentStatus : 0))
</span>
@model TimecardRepository.Models.AgreementsModels.BusinessObject.AgreementSearch
@Html.EditorForModel(“\u BaseEmployeeSearch”)
嘿!
@LabelFor(x=>x.AgreementStatus,“按协议类型筛选:”)
@Html.DropDownListFor(x=>x.AgreementStatus,new SelectList(new[]
{ 
新建{desc=“所有协议类型”,value=“0”},
新的{desc=“仅限分歧”,value=“1”},
新的{desc=“仅限协议”,value=“2”},
新的{desc=“等待协议”,value=“3”}
},“值”,“描述”,(模型!=null)?模型。协议状态:0)
@LabelFor(x=>x.AgreementStatus,“按最后一条注释筛选:”)
@Html.DropDownListFor(x=>x.AgreementStatus,new SelectList(new[]
{ 
新的{desc=“所有注释类型”,value=“0”},
新的{desc=“无注释”,value=“1”},
新的{desc=“来自工资单的最后评论”,value=“2”},
新建{desc=“字段的最后一条注释”,value=“3”}
},“值”,“描述”,(模型!=null)?模型状态:0)
BaseEmployeeSearch编辑模板

@model TimecardRepository.Models.Shared.BaseEmployeeSearch

<span>
@Html.LabelFor(model => Model.FirstName, "First: ")
@Html.TextBoxFor(model => Model.FirstName, new { style = "width: 7em;", maxlength = "12" })
</span>
<span class="margin_left_2em">
@Html.LabelFor(model => Model.LastName, "Last: ")
@Html.TextBoxFor(model => Model.LastName, new { style = "width: 7em;", maxlength = "12" })
</span>
<span class="margin_left_2em">
@Html.LabelFor(model => Model.MemberID, "SMID: ")
@Html.TextBoxFor(model => Model.MemberID, new { style = "width: 6em;", maxlength = "7" })
</span>
<span class="margin_left_2em">
@Html.LabelFor(model => Model.Entity, "Entity: ")
@Html.TextBoxFor(model => Model.Entity, new { style = "width: 5em;", maxlength = "6" })
</span>
<span class="margin_left_2em">
@Html.LabelFor(model => Model.PayPeriod.Offset, "Pay Period: ")
@Html.DropDownListFor(model => Model.PayPeriod.Offset, new SelectList(new[] { new { desc = "Current", value = "0" }, new { desc = "Next", value = "1" }, new { desc = "Previous", value = "-1" } }, "value", "desc"))

@Html.HiddenFor(model => Model.PayPeriod.StartDate)
@Html.HiddenFor(model => Model.PayPeriod.EndDate)
</span>    
@model TimecardRepository.Models.Shared.BaseEmployeeSearch
@LabelFor(model=>model.FirstName,“First:”)
@Html.TextBoxFor(model=>model.FirstName,新的{style=“width:7em;”,maxlength=“12”})
@LabelFor(model=>model.LastName,“Last:”)
@Html.TextBoxFor(model=>model.LastName,新的{style=“width:7em;”,maxlength=“12”})
@LabelFor(model=>model.MemberID,“SMID:”)
@Html.TextBoxFor(model=>model.MemberID,新的{style=“width:6em;”,maxlength=“7”})
@LabelFor(model=>model.Entity,“Entity:”)
@Html.TextBoxFor(model=>model.Entity,新的{style=“width:5em;”,maxlength=“6”})
@LabelFor(model=>model.PayPeriod.Offset,“付款期:”)
@Html.DropDownListFor(model=>model.payeperiod.Offset,new SelectList(new[]{new{desc=“Current”,value=“0”},new{desc=“Next”,value=“1”},new{desc=“Previous”,value=“-1”},“value”,“desc”))
@Html.HiddenFor(model=>model.PayPeriod.StartDate)
@Html.HiddenFor(model=>model.PayPeriod.EndDate)

WOW-你有很多@Html.\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu(x=>x.AgreementStatus…-写一些简单的HTML怎么样?从呈现的标记开始,看看你的实际表单是什么样子,它是否与你发布到的模型匹配?是的,我有很多HTML助手,我尝试过在BaseEmployeeSearch中使用简单的HTML,但这并没有改变我的问题。最终我正在使用帮助程序通过实现局部视图(通过编辑器模板)使我的生活更轻松,但无法使Html.EditorFor()在此实例中正常工作。我也面临同样的问题。你找到解决方法了吗?相信我,我感受到了你的痛苦: