在web应用程序中,[asp.net]我使用的是模式弹出控件,它运行良好,但在模式弹出关闭按钮[取消按钮]事件中,我写了一个重定向到另一个页面的代码,但它没有重新引导[可能是事件没有启动],你能帮我吗?
<asp:Panel ID ="slideshow1" runat ="server" >
<asp:GridView ID ="grd" runat ="server" ></asp:GridView>
<asp:Button ID ="btnClos" runat ="server" onclick="btnClos_Click" Text ="X close" />
</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID ="btn"
CancelControlID="btnClos" PopupControlID="slideshow1" BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>
<asp:Button ID ="btn" runat ="server" style="display:none;" />
我怀疑ModalPopupExtender可能没有传播关闭按钮的提交,因为它是扩展器的取消按钮。有两种选择:
您可以为ModalPopupExtender使用java-script API来隐藏它,而不是将其用作CancelControlID
参数
<asp:Panel ID ="slideshow1" runat ="server" >
<asp:GridView ID ="grd" runat ="server" ></asp:GridView>
<asp:Button ID ="btnClos" runat ="server" onClick="btnClos_Click" OnClientClick="return DoClose();" Text ="X close" />
</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID ="btn"
PopupControlID="slideshow1" BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>
<script type="text/javascript">
function DoClose() {
// close the modal popup
$('<%= ModalPopupExtender1.ClientID %>').hide();
// return true so that submit will happen
return true;
}
</script>
当你想重定向到另一个页面时,更好的选择是简单地重定向到不同的页面,而不是使用服务器端重定向。
<asp:Panel ID ="slideshow1" runat ="server" >
<asp:GridView ID ="grd" runat ="server" ></asp:GridView>
<asp:Button ID ="btnClos" runat ="server" OnClientClick="return DoClose();" Text ="X close" />
</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID ="btn"
CancelControlID="btnClos" PopupControlID="slideshow1" BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>
<script type="text/javascript">
function DoClose() {
// redirect
window.location.href = '/ToAnotherPage.aspx?q=some';
// return false so that submit will be blocked
return false;
}
</script>