我的应用程序中有一个更难的基础/派生类结构,但为了更容易,让我们假设一个简单的模型示例:
public class Base
{
public string BaseProp { get; set; }
}
public class Derived : Base
{
public string DerivedProp { get; set; }
}
我想为这些类制作EditorTemplates,Base.cshtml
很简单:
@model Base
@Html.EditorFor(model => model.BaseProp)
但是在Derived.cshtml
中,我认为我可以在基类上调用EditorFor,如下所示:
@model Derived
@Html.EditorFor(model => model.DerivedProp)
//This throws an exception in a browser
@Html.EditorFor(model => (Base)model)
//This is without an exception,
//but nothing happens, there are no fields of base class in the page
@{
var baseObj = (Base)Model;
@Html.EditorFor(_ => baseObj)
}
有没有办法,如何正确调用基类的EditorTemplate?我发现只有this 6年的主题,但它提供了一个使用Partial in custom helper而不是EditorFor的解决方法,这仍然不是一个理想的解决方案。在较新版本的ASP中,我们是否有更好的直接方式?