Я читал похожие вопросы о переполнении стека, но это может быть немного по-другому.Поскольку на странице, над которой я работаю, есть много пользовательских контролей, и Ajax уже работает ... Сначала я попытаюсь обобщить код
На странице есть кнопка ссылки Просмотр сведений , которая открывает пользовательский контроль EmploymentOfferDetails во всплывающем окне
В конце этой же страницы я добавил элемент управления повторителем с кнопкой изображения и хочу открыть другое всплывающее окно с другим пользовательским элементом управления при нажатии кнопки изображения
Я добавил команду item в ретранслятор, но он не запущен (прочитал все команды элемента ретранслятора, не запускающие сообщения)
Теперь проблема заключается в том, что когда я открываю, нажимаю на эту кнопку изображения, как-то проверяется валидатор элемента управления EmploymentOfferDetailsсработал, и поскольку он имеет нулевой объект, он вызывает проверку false и отладчик переходит к Application_EndRequest .. Вот код
(тот же код работает с кнопкой изображения вне элемента управления повторителя): S
<telerik:AjaxSetting AjaxControlID="lbEmploymentOfferDetails">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="pnlEmploymentOfferDetails" LoadingPanelID="rlpRIDESelected" />
<telerik:AjaxUpdatedControl ControlID="hfEmploymentOfferId" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="lbEmploymentOfferDummyLink">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="pnlEmploymentOfferDetails" LoadingPanelID="rlpRIDESelected" />
<telerik:AjaxUpdatedControl ControlID="hfEmploymentOfferId" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="rptMedicareReplyDateGroup">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ucAGPTMailDetails" />
</UpdatedControls>
</telerik:AjaxSetting>
HTML
<div id="divEmploymentOfferDummylink" style="position:absolute;z-index:900;left:0;top:0;display:none;">
<asp:LinkButton runat="server" ID="lbEmploymentOfferDummyLink" Text="View Employment Offer Details" Visible="true" CausesValidation="false" OnClientClick="ShowEmploymentOfferDetails();"></asp:LinkButton>
</div>
<asp:Panel runat="server" ID="pnlPlacementBasicInformation">
<div class="control-group required" id="divEmploymentOfferLink" runat="server" visible="false">
<asp:Label runat="server" AssociatedControlID="lbEmploymentOfferDetails" CssClass="control-label"
Text="Employment Offer" ID="lblEmploymentOffer" />
<div class="controls">
<asp:LinkButton runat="server" ID="lbEmploymentOfferDetails" Text="View Details"
CausesValidation="false" OnClientClick="ShowEmploymentOfferDetails();"></asp:LinkButton>
</div>
</div>
<div id="medicareInformation" class="hide well">
<!-- Main facility and Additional Sites table -->
<!--Another repeater control goes here-->
<div class="control-group">
<asp:Label ID="Label20" runat="server" AssociatedControlID="lblMedicareReplyDate" Text="Medicare Send Confirmation:"
CssClass="control-label" Width="220px" />
<div class="controls" style="margin-left: 225px;">
<asp:Label ID="lblMedicareReplyDate" runat="server" />
<asp:Literal ID="litMedicareReplyEmaiId" runat="server" Visible="false" />
<asp:ImageButton ID="iBtnMedciareReplyEmail" runat="server" ImageUrl="~/Images/Icons/communication-active.png" Width="25px" AlternateText="Click to open email" ToolTip="Click to open email" />
</div>
</div>
<div class="control-group">
<asp:Label ID="Label23" runat="server" AssociatedControlID="rptMedicareReplyDateGroup" Text="Medicare Send Confirmation:"
CssClass="control-label" Width="220px" />
<asp:Repeater runat="server" ID="rptMedicareReplyDateGroup">
<ItemTemplate>
<div class="row" id="trRepeaterItem" runat="server">
<asp:Label ID="lblMedicareReplyDateItem" runat="server" />
<asp:Literal ID="litMedicareReplyEmaiIdItem" runat="server" Visible="false" />
<asp:ImageButton ID="iBtnMedciareReplyEmailItem" runat="server" ImageUrl="~/Images/Icons/communication-active.png" CausesValidation="false" Width="25px" AlternateText="Click to open email" ToolTip="Click to open email" CommandName="OpenEmail" OnClientClick="ShowMedicareDetails();" />
<asp:LinkButton ID="lnkTest" runat="server" OnClientClick="ShowMedicareDetails();" Text="Test Button" OnClick="lnkTest_Click" CausesValidation="false" />
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</div>
при нажатии кнопки изображения яЯ открываю модальное всплывающее окно, которое содержит другой пользовательский элемент управления.Теперь это вызывает проверку всей страницы на стороне сервера, включая проверки на стороне сервера EmploymentOfferDetails, и вызывается Application_EndRequest, потому что EmploymentOfferDetails не инициализирован должным образом ... и поэтому (я предполагаю) команда элемента повторителя не запускается.
iBtnMedciareReplyEmail(один внешний ретранслятор), однако, работает правильно.
Я надеюсь, что смогу объяснить свою проблему