1

Html.EnableClientValidationビューでメソッドを使用してクライアント検証を有効にします。このクライアント側の検証は、テキスト ボックスではうまく機能しますが、ドロップダウン ボックスで使用するとバグが見つかった可能性があると思います。

Html.DropDownList( name, data, "Please choose..." )その名前の ViewData アイテムを使用せずに次の構造を使用すると、クライアント側の検証がうまく機能します。生成された HTML コードを見ると、JSON ブロックで ASP.NET が ValidationRules を生成したことがわかります。

ただし、その名前の ViewData 項目を追加すると、クライアント検証の ValidationRules は空になります!

どちらの場合も、サーバー側の検証は期待どおりに機能します。バグですか、何か不足していますか?

4

1 に答える 1

1

解決策は簡単です:

<%= Html.DropDownList("Username", CType(ViewData("Data"), SelectList), "Please choose...")%>

次のようにすると、クライアント検証は機能しません。

<%= Html.DropDownList("Username", "Please choose...")%>

どちらの場合も、同じコードを使用してViewDataアイテムを作成しますが、これは最初のステートメントでのみ機能します。

于 2010-08-10T10:27:05.697 に答える