我有两个课程:

public class DocumentViewModel
{
    public virtual string DocumentNumber { get; set; }
}

public class PurchaseOrderViewModel : DocumentViewModel
{
    [DisplayName("PO Number")]
    public override string DocumentNumber { get; set; }
}

和一个视图:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Onyx.Web.Models.PurchaseOrderViewModel>" %>

<strong><%: Html.LabelFor(i => i.DocumentNumber) %>:</strong> <%: Model.DocumentNumber %>

我希望这会渲染

<strong>PO Number:</strong> PO-12345

但实际上渲染

<strong>DocumentNumber:</strong> PO-12345

有办法解决这个问题吗?

有帮助吗?

解决方案

我想出了解决自己问题的解决方案。这不是完美的,但是没关系。

由于这些只是ViewModels,因此其中没有逻辑。所以我改变了 class DocumentViewModelinterface IDocumentViewModel 和, , , 问题解决了。

我仍然想为继承课程工作,但这比任何业务案例都更加固执。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top