我有一个按钮,我正在调用一个模式弹出扩展器,显示一个面板。以下是代码:
<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。我希望当我点击按钮时会加载gridview。但它没有发生,当我点击按钮时,它不是服务器端。
帮我解决问题。
答案 0 :(得分:5)
您的问题是ModalPopup正在显示客户端。
如果您要做什么(绑定gridview),您需要触发回发到服务器。
为ModalPopup添加虚拟目标
&LT; asp:Button runat =“server”ID =“HiddenTargetControlForModalPopup”style =“display:none”/&gt;
设置TargetControlID =“HiddenTargetControlForModalPopup”
在btnOne_Click事件中调用ModalPopupExtender1.show()。
btnOne现在将触发服务器端事件。您还应该将Gridview放在更新面板中,并将btnOne设置为asyncynctback触发器。
希望这会有所帮助。
答案 1 :(得分:0)
您可以根据需要使用异步PostBack Trigger或PostBackTrigger。我想要这个网格视图在更新面板中你需要使用异步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>