1

モデルにプロパティがあります。メールの場合を考えてみましょう。

    <Display(Name:="Email")>
    <DataMember()>
    Public Property Email As String

すべてのページでメールに異なるラベルを使用したいので、基本的に、同じフィールドに2つの表示属性を使用する方法があるかどうかを尋ねています。こんなものが欲しいのですが-

    <Display(Name:="Email")>
    <Display(Name:="Please Enter your Email")>
    <DataMember()>
    Public Property Email As String

次に、ページで使用するラベルを選択します。

方法はありますか、私はこれを達成できますか?

4

1 に答える 1

1
[DisplayName("Please Enter your Email")] //cannot specify a ResourceType

[Display(Name:="Please Enter your Email")]

属性はコンパイル時に読み取られ、アセンブリメタデータの一部になります。実行時に使用するラベルを決定したいようです。

そのために、あなたの見解では、あなたは次のようなことをすることができます。

@if(crazyUser){
    <label for="Email">Alternate Label</label>
}
else{    
    @Html.LabelFor(m => m.Email)    
}

[Display]つまり、これは属性とは別に余分なビットです。

于 2012-08-23T12:23:48.010 に答える