追加する必要があります ValidationGroup
検証を行う必要があるバリデーターとボタンへのプロパティ
<asp:CompareValidator ID="ddlto" ... ValidationGroup="MyValidation"... />
<asp:Button ID="MyBtn" ... ValidationGroup="MyValidation"... />
確認してください、そのバリデーターとボタンには同じグループがあります。
質問
<asp:ComboBox ID="ddlto" runat="server" IncrementalFilteringMode="StartsWith"
DataSourceID="XmlDatasource1" TextField="name" ValueField="name"
Width="100%" DataTextField="name" DataValueField="name" MaxLength="0" style="display: inline;"
AutoCompleteMode="Suggest"
onselectedindexchanged="ddlto_SelectedIndexChanged" />
</td></br>
<asp:CompareValidator ID="cm1" runat="server" Operator="NotEqual" Type="string" ControlToValidate="ddlfrom" ControlToCompare="ddlto" ErrorMessage="The 'Departure City' and 'Destination City' cannot be same. Please re-type." ForeColor="red"
BackColor="yellow" Display="Dynamic" SetFocusOnError="True"> </asp:CompareValidator
そのページでは適切に動作していますが、そのページの他のボタンをクリックして他のページにリダイレクトすると、比較の同じメッセージが印刷されていて、別のページにリダイレクトできません。フライトこの比較検証装置コードを削除すると、ページをリダレキストすることができます。ただし、これらのコードを配置すると、ASPページにフライトボタンをクリックしてフライトページにリダイレクトすると、比較validator code.itがリダイレクトされていません。plzzヘルプで私がタイプしているのと同じメッセージ
解決
追加する必要があります ValidationGroup
検証を行う必要があるバリデーターとボタンへのプロパティ
<asp:CompareValidator ID="ddlto" ... ValidationGroup="MyValidation"... />
<asp:Button ID="MyBtn" ... ValidationGroup="MyValidation"... />
確認してください、そのバリデーターとボタンには同じグループがあります。
他のヒント
Vlaidation Groupプロパティを使用します
<asp:CompareValidator ID="cm1" runat="server" Operator="NotEqual" Type="string"
ControlToValidate="ddlfrom" ControlToCompare="ddlto" ErrorMessage="The 'Departure City'
and 'Destination City' cannot be same. Please re-type." ForeColor="red"
BackColor="yellow" Display="Dynamic" SetFocusOnError="True"> </asp:CompareValidator>
vlaidationGroup = "ABC"
ここでは、他のプロパティと一緒にこのプレーティを追加し、そのボタンにも同じように与えます。
これがいくつかのドキュメントです validationgroup フォーム要素の属性。http://msdn.microsoft.com/en-us/library/ms227424(v=vs.100).aspx
基本的なアイデアは、特定のボタンをクリックするときに、同じもので識別することにより、検証するすべての要素をグループ化することです validationgroup 価値