EditorTemplate 中的 .NET MVC 错误调用另一个 EditorTemplate

问题描述

我有一个包含子 Signviewmodel 的 Aviewmodel。 以及一个包含子 Signviewmodel 的 Bviewmodel。

Aviewmodel

public int id { get; set; }
public string name { get; set; }
//nav props
public virtual Signviewmodel signVm { get; set; }

Bviewmodel

public int id { get; set; }
public string name { get; set; }
//nav props
public virtual Signviewmodel signVm { get; set; }

Signviewmodel

public int id { get; set; }
public string cert { get; set; }
public string pwd { get; set; }
//nav props
public virtual Aviewmodel aVm { get; set; }
public virtual Bviewmodel bVm { get; set; }

然后我有一个用于 Signviewmodel 的 editorTemplate,它只显示 2 个 html 字段:

EditorTemplates/Signviewmodel.cshtml

@Model MyProject.viewmodels.Signviewmodel
@EditorFor(m => m.cert)
@EditorFor(m => m.pwd)

也适用于 Aviewmodel 和 Bviewmodel:

EditorTemplates/Aviewmodel.cshtml

@Model MyProject.viewmodels.Aviewmodel
@EditorFor(m => m.name)
...
@EditorFor(m => m.signVm)

EditorTemplates/Bviewmodel.cshtml

@Model MyProject.viewmodels.Bviewmodel
@EditorFor(m => m.name)
...
@EditorFor(m => m.signVm)

这很好用。 但现在我需要更改它,以便在 Bviewmodel.cshtml 中,而不是只包含 Signviewmodel editorTemplate,我需要有一个引导模式,在其中,Signviewmodel。 所以我创建了另一个 EditorTemplate,SignModalviewmodel: EditorTemplates/SignModalviewmodel.cshtml

@Model MyProject.viewmodels.Signviewmodel
<div class="modal">
    ....
        @EditorFor(m => m)  --> this should load here EditorTemplate Signviewmodel... but its not...
    ....
</div>

修改了 Bviewmodel.cshtml: EditorTemplates/Bviewmodel.cshtml

@Model MyProject.viewmodels.Bviewmodel
@EditorFor(m => m.name)
...
@EditorFor(m => m.signVm,"SignModalviewmodel")

但这不起作用:Aviewmodel.cshtml 工作正常,但 Bviewmodel.cshtml 显示一个空的模态......所以似乎@EditorFor(m => m)(在 SignModalviewmodel.cshtml 中)行不起作用(我猜测它没​​有找到 EditorTemplates/SignModalviewmodel.cshtml)

我做错了什么??

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)