我正在处理这个问题。
我正在使用EditorFor
一个抽象类的模型。
@model Contoso.Core.Base.Question
@Html.HiddenFor(model => Model.Id)
@Html.Hidden("ModelType", Model.GetType().AssemblyQualifiedName)
@Html.EditorFor(model => Model, Contoso.Core.QuestionRepositoryManager.GetQuestionView(Model))
如上所示,稍后为模型调用一个具体的编辑器,而 MVC 只渲染第一个(我的意思是,打印隐藏的输入字段“Id 和 ModelType”,而不是具体的输入EditorFor
)。
我该怎么做才能打印这两个EditorFor
?我正在阅读有关 using的内容PartialView
,但我不喜欢这个想法,因为我不知道如何将这些属性绑定到POST Method
.
更新:
我不确定是否必须修改 prefixHtml 来解决这个问题?
ViewData.TemplateInfo.HtmlFieldPrefix = ...
它呈现第二个模板,因为如果我改为
Editor
而不是EditorFor
@Html.Editor("abc", Contoso.Core.QuestionRepositoryManager.GetQuestionView(Model))