私はこのようなもののトンに実行している:私はかみそりの形で情報を結合しモデル化し、前後に結合得ることができるように親オブジェクトプロパティのデフォルトのバインディングプロパティを設定するにはどうすればよいですか?
public class TestClass
{
public string Property1 {get;set;}
public string Property2 {get;set;}
public AddressType Type {get;set;}
[RequiredIf("", "", ErrorMessage="...")]
public int TypeId
{
get
{
if (Type == null)
return 0;
else
return Type.Id;
}
set
{
Type = new AddressType() { Id = value };
}
}
}
public class AddressType
{
public int Id {get;set;}
public string Description {get;set;}
}
。私はそこに誰かが "AddressType"に対して属性を適用してクラスの既定のバインディングプロパティを設定するか、TestClassの 'Type'フィールドに対して属性を設定して "When実際にType.Idにバインドしますが、そうでなければオブジェクト全体に対して検証してください。
私はこの権利を求めているのかどうかはわかりませんが、できるだけクリーナーの実装がほしいと思っています。型IDをクラスの不要な嫌なものであり、それを読み、それを困難にしている。
Thxをみんな![OK]を
Idでのバインドに基づいて実際に適切なAddressTypeを選択したという検証をどのように戻ってマップしますか?現在、私たちはそれをやっているし、 "TestClass"オブジェクトに対してAddressTypeIdを公開して、検証を期待どおりに処理できるようにする必要があります。 –
あなたはこれを読んでいるhttp://blogs.msdn.com/b/simonince/archive/2011/02/04/conditional-validation-in-asp-net-mvc-3.aspx – Peter
私は "はい"と信じています..私のドロップダウンリストは、すべての私のアドレスタイプをリストする必要がありますし、IDでドロップダウンリストにバインドする必要がありますが、私はTestClassでAddressTypeIdを公開したくない...私はただオブジェクトを公開したい"AddresType"を含むTestClassのプロパティ。 –