2011-01-04 14 views
0

複数の入力セクションに必要なフィールドバリデーターがある場合(ユーザーIDが&のログインのヘッダーのように、パスワードが必要です。サブスクリプションのフッターに2番目) サブスクリプションログインセクションのユーザーID必須フィールドバリデーターがアクティブになり、ユーザーIDが必要とされる&サブスクリプションをサブミットできません。asp.netでバリデーションを含む複数の送信ボタン

私はサブスクリプションの詳細を提出するログインセクションはこれに心配するべきではありません。この矛盾を避ける方法。

答えて

3

コントロール、バリデータ、およびポストバックを送信するコントロールには、ValidationGroupプロパティを使用する必要があります。各論理グループについて

あなたはValidationGroupプロパティの同じ値を設定し

3

@Citronas答えは正しいですが、それに追加し、あなたはまた、複数の入力フォームを使用しているときに正しくデフォルトの動作を扱うようにする必要があります。それぞれにパネルを置き、DefaultButtonを使用して、そのパネルのサブミットコントロールを識別します。これにより、ユーザーがenter(これは非常に典型的な、特にログインフォームの場合)を押すと、正しい送信ハンドラが使用されるようになります。

また、すべてのサブミット制御タイプで確実には機能しません。 Link Button on the page and set it as default button, work fine in IE but not in Mozila

この問題の解決法がありますが、個人的には、表示コントロールと同じイベントハンドラを使用する隠しボタンコントロールを含めることで対処したいと思います。その後

<asp:Button runat="server" onclick="Search_Click" ID="SearchButton_Default" style="display:none;" /> 

代わりにLinkButton

のこの隠しボタンのデフォルトのコントロールを作ります
関連する問題