比较验证器在任何点击时都处于活动状态

时间:2013-11-07 12:32:16

标签: c# asp.net vb.net comparevalidator

 <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

它正在为该页面正常工作,但是当我点击该页面的任何其他按钮再次重定向到其他页面时,比较验证器的相同消息是打印,我无法重定向到另一页面。我有3页总线,当我移除这个比较验证器代码然后我能够重定向页面时,我可以将这些代码放在我的asp页面中,当我点击飞行按钮重定向到飞行页面时,它显示与我在比较验证器代码中的类型相同的消息。它不是重定向.PLZZ帮助

3 个答案:

答案 0 :(得分:0)

您需要将ValidationGroup属性添加到验证器和应该进行验证的按钮

<asp:CompareValidator ID="ddlto" ... ValidationGroup="MyValidation"... />

<asp:Button ID="MyBtn" ... ValidationGroup="MyValidation"... />

请确保,验证器和按钮具有相同的组。

答案 1 :(得分:0)

使用vlaidation组属性

<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”

这里将此prprety与其他属性一起添加,并将该按钮提供给该按钮,然后它将被清除。

答案 2 :(得分:0)

以下是有关表单元素的 ValidationGroup 属性的一些文档。 http://msdn.microsoft.com/en-us/library/ms227424(v=vs.100).aspx

基本思路是在点击特定按钮时对要验证的所有元素进行分组,方法是使用相同的 ValidationGroup 值来识别它们