2015-12-03 2 views
0

Я пытаюсь показать gridview внутри ajax MODAL, но не отображает gridview. Он показывает все остальные элементы, которые я вставлял INSIDE, но не сетку. Я попытался отобразить gridview вне модального, и он работает, но не внутри модального. Почему?Почему мой asp.net MODAL не отображает данные?

Код:

<asp:Panel ID="pnlLastHearingDates" CssClass="modalPopup" runat="server" HorizontalAlign="Center" Visible="true"> 
<asp:GridView runat="server" ID="grdViewLastHearingDates" AllowPaging="true" PageSize="5" OnPageIndexChanging="grdViewLastHearingDates_PageIndexChanging" 
       OnRowCommand="grdViewLastHearingDates_RowCommand" PagerStyle-BackColor="#99CC99" HeaderStyle-BackColor="#99CC99" DataKeyNames="pk_Cases_CaseID" PagerStyle-Font-Size="12.5px" PagerStyle-ForeColor="Black" PagerStyle-HorizontalAlign="Center" AutoGenerateColumns="false" OnRowEditing="grdViewLastHearingDates_RowEditing" 
       CssClass="table table-condensed table-bordered table-striped table-responsive"> 
    <Columns> 
     <asp:BoundField DataField="pk_Cases_CaseID" HeaderText="Case ID" /> 
     <asp:BoundField DataField="CaseNo" HeaderText="Case No" /> 
     <asp:BoundField DataField="NextHearingDate" HeaderText="Next Hearing Date" /> 
     <asp:BoundField DataField="DaysRemaining" HeaderText="Days Remaining" /> 
    </Columns> 
</asp:GridView> 
</asp:Panel> 

<asp:Button ID="btnShowLasthearingDates" runat="server" OnClick="btnShowLasthearingDates_Click" CssClass="btn btn-primary" /> 
<asp:ModalPopupExtender ID="mdlLastHearingDates" runat="server" TargetControlID="btnShowLasthearingDates" PopupControlID="pnlLastHearingDates"> 

.cs код:

protected void btnShowLasthearingDates_Click(object sender, EventArgs e) 
    { 
     ShowLastHearingDates(); 
     pnlLastHearingDates.Visible = true; 
    } 
+0

Проверьте, нет ли в консоли Inspect Element ошибки или нет. –

+0

ok sir, позвольте мне проверить –

+0

no sir, no error –

ответ

0

Проблема здесь, вероятно, с атрибутом ModalPopupExtenderTargetControlId.

Попробуйте удалить идентификатор кнопки оттуда и вместо этого возьмите скрытое полевое управление на своей странице aspx и дайте ему идентификатор. Теперь добавьте этот идентификатор в атрибут TargetControlId и попробуйте нажать кнопку.

Ваш код будет выглядеть следующим образом:

<asp:HiddenField ID="HdnFld1" runat="server" /> 
             <asp:ModalPopupExtender ID="ModalPopupExtender1" BehaviorID="MPE" runat="server" 
              CancelControlID="btnCancel" 
              TargetControlID="HdnFld1" PopupControlID="Panel1" 
              PopupDragHandleControlID="PopupHeader" Drag="true" 
              BackgroundCssClass="ModalPopupBG"> 
             </asp:ModalPopupExtender> 

Кроме того, вы можете сохранить CausesValidation="false" для вашей кнопки только в случае, если он останавливается постбэк из-за проверки, но опять же, вы можете справиться с этим, так что бы обратной передачи без каких-либо вид проверок данных на стороне клиента.

Надеюсь, это поможет.

+0

ok sir lemme try –

+0

ой, это сработало сэр, но мне интересно, как это работает? Метка не нажимается и не выполняется, но все же она работает –

+0

В принципе, вам нужно было добавить фиктивный элемент управления и заменить кнопку идентификатором элемента управления. Это то, что нужно, чтобы заставить его работать. Итак, теперь у вашего всплывающего окна есть цель, которая ничего не делает, и, следовательно, все работает так, как ожидалось. –

Смежные вопросы