2009-02-27 1 views
2

バリデーションを無効にしてHtmlButtonからサーバーコントロールを作成しました。.NET HtmlButtonは常にバリデータをトリガーします

<button runat="server" causesvalidation="false" /> 

入力ボタンではありません!

<input type="button" runat="server /> 

フォームにバリデータがたくさんあります.HtmlButtonをクリックすると、バリデータが実行されます。入力ボタンを使用しても問題はなく、バリデーターは実行されません。

これは予期した動作ですか?これはバグですか?

答えて

0

クライアント側、サーバー側、またはその両方を意味するバリデータをまだ実行していますか?

+0

サーバー側でのみ実行されます。私は新しいバリデーターを作成しましたが、まだそれを実行しています。コード内で有効/無効にされていない – Alex

2

私はそれを試して、期待どおりに動作します。私はあなたのコードをチェックする必要があります、多分あなたはそれをサーバー側で有効にしていると思います。

<button runat="server" ID="btnSubmit" causesvalidation="false" 
onserverclick="SubmitButton_Click"></button> 

妥当性検査に妥当性検査グループを追加することができます。

+0

この場合、サーバ側の 'asp:Button'ではなく' HtmlButton'を使用しますか? – abatishchev

0

あなたのボタンにはIDがありませんか?これは、ボタンが何のために呼び出されているのかわからないため、すべての属性をロードしないという問題を引き起こしている可能性があります。ロングショットだけど、決して知らない。

+0

申し訳ありません。私はコード内にidを持っていますが、簡潔さのために例には含まれていませんでした – Alex

0

が依存:)それが役に立てば幸い、彼らは同じgroup.youにある場合に、検証制限を追加しますグループに含まれていない場合は、フォームのサーバーへのポストによってコントロールが検証される可能性があります。

:)

+0

あなたはその例を提供できますか? – Lizz

0

属性type = "button"を設定するだけです。デフォルトは提出する必要があります。

関連する問題