0

これを読んだことで、検証の問題を のInitialValueプロパティに絞り込むことができましたRequiredFieldValidator

私のドロップダウンリストは、このようなコードビハインドによって取り込まれるオブジェクトのリストです。

brands.Insert(0, Brand.Empty)

cbBrand.DataValueField = "ID";
cbBrand.DataTextField = "Name";
cbBrand.DataSource = new BindingList<Brand>(brands);
cbBrand.DataBind();

ここで、Brand.Empty は null オブジェクト タイプです。

私が動けなくなっているのはIntialValue、null 値を受け入れることです。たとえばInitialValue=""、リスト内の空のオブジェクトを認識できません。

誰かがこれを修正する方向に私を向けることができますか?

4

2 に答える 2

1

空の文字列はnull値と同じではありません。データソースにnull値を追加する代わりに、次のようにドロップダウンに直接追加します。

cbBrand.Insert(0, new ListItem("", "Select an item"));

これにより、バリデーターの初期値と一致する「」の値を持つオプションがHTMLselect要素に追加されます。

于 2011-07-12T03:12:45.757 に答える
0

わお。この質問を投稿する前に、このサイトで以前の回答を徹底的に検索したと思いましたが、これを見逃していまし

<asp:DropDownList>答えは、プロパティを持つように変更してから、dropDownListタグとBAMの間にAppendDataBoundItems=true追加することです。<asp:ListItem Text="" Value="" />コードビハインドにnullオブジェクトを挿入する必要のない値をリストに挿入できます(リストの先頭に2つの空白が表示されないように削除する必要があります)。

ここでの利点は、コードビハインドのリストがオブジェクトタイプ<Brand>にバインドされていることですが、クライアントで空の文字列を追加すると、クライアント側の検証に問題なく機能します。

これがこの問題に苦しんでいる他の人に役立つことを願っています!

于 2011-07-12T23:18:52.067 に答える