Asp.net mvc 3 如何重用HtmlHelper.EditorFor中的表达式

Asp.net mvc 3 如何重用HtmlHelper.EditorFor中的表达式,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,在我的cshtml文件中,我有以下调用 @foreach( var EducationPlan in Model.Fields) { @HtmlHelper.EditorFor(m => EducationPlan, "ViewFieldInputWithHidden") } 在ViewFieldInputWithHidden.cshtml中 @HtmlHelper.TextBox(Model.MemberName, Model.Value, Model.HtmlAttribut

在我的cshtml文件中,我有以下调用

@foreach( var EducationPlan in Model.Fields) {
    @HtmlHelper.EditorFor(m => EducationPlan, "ViewFieldInputWithHidden")
}
在ViewFieldInputWithHidden.cshtml中

@HtmlHelper.TextBox(Model.MemberName, Model.Value, Model.HtmlAttributes)
@HtmlHelper.Hidden(Model.MemberName, Model.Value, new { id = Model.MemberName + "_Hidden" })
这给了我,去掉了不重要的东西

<input id="EducationPlan_ResponsiblePerson" name="EducationPlan.ResponsiblePerson" type="text">
<input id="ResponsiblePerson_Hidden" name="EducationPlan.ResponsiblePerson" type="hidden">

因此,TemplateInfo类基本上以某种方式保存表达式。

是否要获取字符串EducationPlan?是的,更确切地说是我的cshtml中Linq表达式中使用的字符串,与HtmlHelper.TextBox的方式相同。是否尝试了@typeofModel.Name?EducationPlan不是字段的类型,它是foreach中变量的名称。我已经更新了问题以更好地反映这一点,感谢您的评论,因为它帮助我改进了我的问题。
@Html.Hidden(Model.MemberName, Model.Value, new { id = Html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(Model.MemberName) + "_Hidden" })