Сравните валидатор, становятся активными на любом щелчке

StackOverflow https://stackoverflow.com/questions/19836048

Вопрос

 <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

Он работает правильно для этой страницы, но когда я нажимаю на любую другую кнопку этой страницы, чтобы перенаправить на другую страницу снова. Тот же MassAage of Compare Validator - это печатает, и я не могу перенаправить на другую страницу. У меня есть 3 -страницы шины, поезд Полет, когда я удаляю этот код валидатора, тогда я могу переоценить страницы ... но когда я размещаю этот код .. на странице ASP, когда я нажимаю кнопку «Полет», чтобы перенаправить на страницу полета, он показывает то же сообщение, что и у меня typd в сравнении кода валидатора. Это не перенаправление.

Это было полезно?

Решение

Вам нужно добавить ValidationGroup свойство для валидатора и кнопки, которые должны выполнять проверку

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

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

Просто убедитесь, что у этого валидатора и кнопки есть та же группа.

Другие советы

Используйте имущество Vlaidtion 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 ценность

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top