StepViewModelsをデコレートするために使用するカスタム属性を作成しました。私IStepViewModel.cshtmlでテンプレートページの属性から派生したカスタムクラスをテストするにはどうすればよいですか?
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class WizardStepAttribute : Attribute
{
public String Name { get; set; }
//public virtual int? Order { get; set; }
}
[PropertiesMustMatch("Email","ConfirmEmail")]
[WizardStep(Name="Preparer's Information")]
public class Step0ViewModel : IStepViewModel
{...
私はそれが存在する場合WizardStepプロパティ名を表示したいです。ここで
は、これを行うための正しい方法は、上のベースモデルにメタデータを追加するためのカスタムモデルのメタデータプロバイダを実装することである
@Html.Label(ViewModel.ModelMetaData.Properties("WizardStep").Name)
を私から何を返しますかそのCreateMetaDataメソッド? –
@Doug Chamberlain:申し訳ありませんが、中断しました。私の更新された答えを見てください。 – StriplingWarrior
偉大な答え。私は1つの問題を抱えています。 'System.Attribute>の' attributes'Ienumerableコレクションには、WizardStepAttribute型の項目がないので、if条件は決して実行されません。 WizardStepAttributeアイテムをワイヤリングして属性変数に含めるにはどうすればよいですか? –