2015-11-02 4 views
0

У меня есть смешная ошибка, когда ни один из моих ajaxtoolkit:ValidatorCalloutExtender не покажет , кроме для первого.Несколько ValidatorCalloutExtender's is not Show

У меня есть 4 RadDatePickers (которые сидят внутри asp:Wizard) и если выбрать дату в первом выборе даты затем нажмите кнопку «Далее» ни один из всплывающего окна другого ajaxtoolkit:ValidatorCalloutExtender «s. Обратите внимание, что валидаторы работают и перестают переходить к следующему шагу, но всплывающие окна выносных выступов не отображаются.

Любые идеи, что происходит не так?

Полный рабочий файл можно скачать здесь; FileHosting

<asp:Wizard ID="wzdRegister" runat="server" DisplaySideBar="False" FinishCompleteButtonText="Submit" ActiveStepIndex="0"> 

    <WizardSteps> 
     <asp:WizardStep ID="wzsIdentification" runat="server" Title="Identification"> 

      <telerik:RadDatePicker ID="Expiry" runat="server" ></telerik:RadDatePicker> 
      <asp:RequiredFieldValidator ID="rfvExpiry" runat="server" ErrorMessage="Expiry is a required field" 
       ControlToValidate="Expiry" Text="*" /> 
      <ajaxtoolkit:ValidatorCalloutExtender ID="vcerfvExpiry" runat="Server" TargetControlID="rfvExpiry" Width="350px" HighlightCssClass="highlight" 
       WarningIconImageUrl="warning.gif" CloseImageUrl="close.gif" /> 
      <br /> 

      <telerik:RadDatePicker ID="RadDatePicker1" runat="server" ></telerik:RadDatePicker> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Expiry is a required field" 
       ControlToValidate="RadDatePicker1" Text="*" /> 
      <ajaxtoolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="Server" TargetControlID="RequiredFieldValidator1" Width="350px" HighlightCssClass="highlight" 
       WarningIconImageUrl="warning.gif" CloseImageUrl="close.gif" /> 
      <br /> 

      <telerik:RadDatePicker ID="RadDatePicker2" runat="server" ></telerik:RadDatePicker> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Expiry is a required field" 
       ControlToValidate="RadDatePicker2" Text="*" /> 
      <ajaxtoolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="Server" TargetControlID="RequiredFieldValidator2" Width="350px" HighlightCssClass="highlight" 
       WarningIconImageUrl="warning.gif" CloseImageUrl="close.gif" /> 
      <br /> 

      <telerik:RadDatePicker ID="RadDatePicker3" runat="server" ></telerik:RadDatePicker> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="Expiry is a required field" 
       ControlToValidate="RadDatePicker3" Text="*" /> 
      <ajaxtoolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="Server" TargetControlID="RequiredFieldValidator3" Width="350px" HighlightCssClass="highlight" 
       WarningIconImageUrl="warning.gif" CloseImageUrl="close.gif" /> 
      <br /> 
     </asp:WizardStep> 

     <asp:WizardStep ID="WizardStep1" runat="server" Title="Identification"> 
      Step 2 
     </asp:WizardStep> 

     <asp:WizardStep ID="WizardStep2" runat="server" Title="Identification"> 
      Final Step 
     </asp:WizardStep> 

    </WizardSteps> 

    <StartNavigationTemplate> 
     <input type="button" id="btnAccept" class="hidden" title="Accept" value="Accept" onclick="return false;" class="btn" /> 
     <asp:Button ID="btnNext" runat="server" CommandName="MoveNext" Text="Next" class=" btnNext" /> 
     <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" Visible="false" class="btn" CausesValidation="false" /> 
     <asp:Button ID="btnSave" runat="server" Text="Submit" OnClick="btnSave_Click" Visible="false" class="btn" /> 
    </StartNavigationTemplate> 

    <StepNavigationTemplate> 
     <asp:Button ID="btnPrevious" runat="server" CommandName="MovePrevious" Text="Previous" CausesValidation="false" class="btn" /> 
     <asp:Button ID="btnNext" runat="server" CommandName="MoveNext" Text="Next" class="btn" /> 
     <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" Visible="false" class="btn" CausesValidation="false" /> 
     <asp:Button ID="btnSave" runat="server" Text="Submit" OnClick="btnSave_Click" Visible="false" class="btn" /> 
    </StepNavigationTemplate> 

    <FinishNavigationTemplate> 
     <asp:Button ID="btnSubmit" runat="server" CommandName="MoveComplete" Text="Submit" class="btnNext" /> 
    </FinishNavigationTemplate> 
</asp:Wizard> 
+0

Если мы заменим telerik: RadDatePicker с простым asp: результат TextBox будет таким же? –

ответ

1

Это по дизайну. Если вы посмотрите на ValidatorCallout.js шоу() функции вы увидите строки:

if(Sys.Extended.UI.ValidatorCalloutBehavior._currentCallout != null) 
    return; 

Это предотвращает последующие выноски от открытия. Вы можете просто удалить эти строки и/или опубликовать сообщение об ошибке в Ajax Control Toolkit: https://ajaxcontroltoolkit.codeplex.com/workitem/list/basic