0

我有两节课:

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

有没有办法解决这个问题?

4

1 回答 1

0

我想出了一个解决我自己问题的方法。这并不完美,但没关系。

由于这些只是 ViewModel,因此其中没有逻辑。所以,我改为class DocumentViewModel并且interface IDocumentViewModel,问题解决了。

我仍然想让它为继承类工作,但这比任何商业案例都更顽固。

于 2010-09-02T13:36:46.703 回答