ASP.. NET MVC编辑器模板不工作

本文关键字:工作 编辑器 NET MVC ASP | 更新日期: 2023-09-27 18:12:27

在获得Razor视图渲染带有嵌入式IEnumerable的ViewModel的问题后,我遇到了以下帖子:视图模型IEnumerable<>属性是从post方法返回null(不绑定)?

我使用编辑器模板实现了建议的解决方案,但我的视图只显示嵌入IEnumerable中的第一个属性。我从上面的帖子实现了两种解决方案,但一个与EditorFor模板不适合我。我的视图只显示ID属性。

有没有人有任何想法,为什么与编辑器模板的解决方案可能不适合我的设置?我已经完全按照建议实现了

ASP.. NET MVC编辑器模板不工作

要使用编辑器模板,请考虑以下提示:

  1. 你必须把模板放在EditorTemplates文件夹中文件夹视图。
  2. 你应该使用EditorFor HTML helper来调用合适的模板当你有特定的模型要查看时,它会找到你想要的模板自动生成,否则你必须提示引擎,无论是通过EditorFor的参数还是使用[UIHint]属性在模型中。看看扩展编辑器模板的ASP。净MVC
  3. 在模板中使用简单模型,如string, DateTime?
  4. 对于使用IEnumerable模型的模板,考虑一个非常重要的提示,可以在editorforienumerable中使用TemplateName。

如果你的视图只显示第一项,那么你的模板没有在EditorTemplates文件夹中被选中。

在EditorFor扩展方法中定义模板,如下所示:

@Html.EditorFor(model => model, "NameofEditorTemplate")