2011-09-27 8 views
5

を必要と私は整数にDropDownListコントロールをバインドしたいと思いますデフォルトでは値は選択されません。私のviewmodelは非常に簡単で、かつこれらのプロパティのいずれかの注釈MVC3 - - intにDropDownListコントロールをバインド、次のように値が常に

public SelectList AllProducts {get;set;} 
public int ProductID {get;set;} 

を持っていない私は、データの検証が強制されるintに結合していますので、私のHTMLで生成されたデータ-VAL *属性をもたらし、原因となることが表示されますオプションを選択しないと、クライアント側の検証が失敗することがあります。代わりに、intではなく文字列にバインドすると、サーバー側で文字列を解析しているようですが、これはちょっとハッキリしているようですが、intにバインドできる代替があるかどうかは疑問ですデフォルト(空の)値ではなく、このフィールドは必須に

JP

答えて

11

ilstドロップダウンがデフォルトを持っていることができればあなたがにバインドするために、あなたのビューモデルにしてNULL可能整数を使用する必要がありますありがとう値:

public SelectList AllProducts { get; set; } 
public int? ProductID { get; set; } 

そして、あなたは、ユーザーが実際に値が必要な属性を飾る選択した検証を強制する場合:

public SelectList AllProducts { get; set; } 
[Required] 
public int? ProductID { get; set; } 
+0

うわ、私は馬鹿だ...と私は馬鹿であることを憎みます。私は私の人生の最後の30分を得ることができたら... –

+0

@JP。、うれしい私は助けることができます。まだいくつかの問題が残っているか、この質問を閉じることができますか? –

+0

私はそれを閉じることができるようになるまで数分待たなければならなかった。答えは今受け入れました - あなたの助けに感謝! –

関連する問題