質問

私には2つのクラスがあります:

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

これを回避する方法はありますか?

役に立ちましたか?

解決

私は自分の問題の解決策を思いつきました。完璧ではありませんが、大丈夫です。

これらは単なるビューモデルであるため、論理はありません。だから、私は変わった class DocumentViewModelinterface IDocumentViewModel と、 ボイラ, 、 問題が解決しました。

私はまだクラスを継承するためにこれを機能させたいと思っていますが、それはどのビジネスケースよりも私の頑固さです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top