У меня есть серия пользовательских контролов, вложенных в ajaxToolkit: TabContainer, которые необходимо проверить. Пользовательский элемент управления имеет элементы управления txtFlightFrom и txtFlightTo, и мне нужно убедиться, что это данные в txtFlightTo, если в txtFlightFrom есть данные (вы не можете вылететь из одного аэропорта без аэропорта назначения). Я пробую элемент управления asp: CompareValidator в первый раз, но моя реальная проблема заключается в том, как я запускаю валидатор при переходе на следующую вкладку. Я попытался сделать это со своей страницы aspx, но это только вызывает проблемы и логически не имеет смысла для меня.
ASCX:
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="txtFlightFrom" ControlToCompare="txtFlightTo" Type="String" ErrorMessage="CompareValidator" />
<asp:Label ID="lblCompareTOFROM" runat="server" />
<asp:TextBox ID="txtFlightFrom" runat="server" />
<asp:TextBox ID="txtFlightTo" runat="server" />
ASPX:
<ajaxToolkit:TabContainer ID="TabContainer1" runat="server" AutoPostBack="true" OnActiveTabChanged="TabContainer1_ActiveTabChanged">
<ajaxToolkit:TabPanel ID="TabPanel1" runat="server" HeaderText="Flights">
<ContentTemplate>
<ucFlight:FlightControl id="FlightControl1" Runat="server" />
<ucFlight:FlightControl id="FlightControl2" Runat="server" />
</ContentTemplate>
</ajaxToolkit:TabPanel>
<ajaxToolkit:TabPanel ID="TabPanel2" runat="server" HeaderText="Cars">
stuff
</ajaxToolkit:TabPanel>
ascx.cs
public string ValidateToFrom
{
get { return lblCompareTOFROM.Text; }
set { lblCompareTOFROM.Text = value; }
}
aspx.cs
if (Page.IsValid)
{
FlightControl1.ValidateToFrom = "Not Valid";
}
Я также пробовал варианты этого кода в ascx.cs, но это также не имеет смысла, потому что событие происходит в aspx.cs
Есть мысли?