私はデータアノテーションで修飾したプロパティを持つモデルがいくつかあります。データアノテーションはビューモデルでは機能しません
public class OrderViewModel
{
public BillingModel Billing { get; set; }
public CustomerModel Customer { get; set; }
}
彼らは次のように出てレンダリング:
@Html.TextBoxFor(x => x.Business.FirstName)
@Html.TextBoxFor(x => x.Business.LastName)
:
<input id="Business_FirstName" name="Business.FirstName" type="text" value="" />
<input id="Business_LastName" name="Business.LastName" type="text" value="" />
私のカミソリは、このようになります私はこのようなビューモデルに入れ
public class BillingModel
{
[Required,
DisplayName("First Name")]
public string FirstName { get; set; }
[Required,
DisplayName("Last Name")]
public string LastName { get; set; }
}
public class CustomerModel
{
[Required,
DisplayName("Address")]
public string Adress { get; set; }
[Required,
DisplayName("City")]
public string City { get; set; }
}
私は、それぞれのクラスには特定のメソッドが含まれているので、それぞれのクラスに生きています。ビューモデルの各プロパティに[Required]
を入力しても、それでも機能しません。
私の問題は、これらのオブジェクトがメタデータを作成したエンティティフレームワークオブジェクトであるが、部分クラスを間違った名前空間に配置したことでした。 –