Событие на стороне сервера для кнопки, имеющей модальный всплывающий экстендер
У меня есть кнопка, на которой я вызываю модальный всплывающий экстендер, который показывает панель. Ниже приведен код:
<asp:Button ID="btnOne" runat="server" Text="View "
onclick=" btnOne_Click" />
<asp:Panel ID="test" CssClass="ModalWindow" Width="100%" ScrollBars="Both" runat="server">
<table id="tblgv" width="100%">
<tr>
<td>
<asp:GridView ID="gvTwo" runat="server">
</asp:GridView>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnPopUpCancel" runat="server" Text="Close" />
</td>
</tr>
</table>
</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupExtender1" OkControlID="btnPopUpCancel"
TargetControlID=" btnOne " PopupControlID="test" runat="server">
</asp:ModalPopupExtender>
На панели у меня есть вид сетки. Я хочу, чтобы при нажатии на кнопку gridview загружался. Но этого не происходит, когда я нажимаю на кнопку, это не происходит на стороне сервера.
помогите мне, как решить это.
2 ответа
Ваша проблема в том, что ModalPopup показывает сторону клиента.
Если вы что-то делаете (связываете сетку), вам нужно инициировать обратную передачу на сервер.
добавить фиктивную цель для ModalPopup
set TargetControlID="HiddenTargetControlForModalPopup"
вызовите ModalPopupExtender1.show() внутри события btnOne_Click.
btnOne теперь будет запускать серверное событие. Вы также должны поместить Gridview в панель обновлений и установить btnOne в качестве триггера asyncpostback.
Надеюсь, это поможет.
Вы можете использовать асинхронный триггер PostBack или PostBack Trigger в соответствии с вашими потребностями. Я хотел бы, чтобы этот вид сетки В панели обновлений вам нужно использовать асинхронный триггер PostBack. и если вы хотите, чтобы эта страница перезагружалась при нажатии кнопки, вам нужно иметь триггер пост-возврата и убедиться, что кнопка управления находится внутри этой панели обновлений. Вот пример
<asp:UpdatePanel ID="UPDTree" runat="server">
<ContentTemplate>
<asp:LinkButton ID="lnkfaketree" runat="server"></asp:LinkButton>
<asp:ModalPopupExtender ID="mpeTree" runat="server" BackgroundCssClass="modalBackground recharge" CancelControlID="btntreeclose" PopupControlID="paneltree" TargetControlID="lnkfaketree"></asp:ModalPopupExtender>
<asp:Panel ID="paneltree" runat="server" Style="display: none">
<div class="btn-group pull-right">
</div>
<div class="box box-primary">
<div class="box-header with-border" style="padding: 3px; background-color: #14181a; font-weight: bolder">
<h3 class="box-title" style="color: white">Tree View</h3>
<div class="btn-group pull-right">
<asp:LinkButton ID="btntreeclose" runat="server" CssClass="fa fa-close" OnClick="btntreeclose_Click"></asp:LinkButton>
</div>
</div>
<div class="form-horizontal">
<div class="box-body">
<div id="chart_div" style="width: 1000px; height: 500px; overflow: auto">
</div>
<asp:Button id="BtnNext" runat="server" OnClick="selectHandler()" />
<asp:Button id="btn_Submit" runat="server" OnClick="selectHandler2()" />
</div>
</div>
</div>
</asp:Panel>
</ContentTemplate><Triggers>
<asp:AsyncPostBackTrigger ControlID="BtnNext" EventName="Click" />
<asp:PostBackTrigger ControlID="btn_Submit" />
</Triggers>
</asp:UpdatePanel>