我有一个页面名称Feedback.aspx,它包含一个PopupModelExtender,并且有一个btnClose调用服务器端事件来清除会话,并重新加载Feedback.aspx页面。
protected void btnClose_Click(object sender, EventArgs e)
{
Session.Clear();
Session.Timeout = 1;
Session.RemoveAll();
Session.Abandon();
Response.Redirect("~/frmPatientFeedback.aspx?cn=1");
}
我在特定消息后显示弹出模型,现在显示时,用户可以选择单击btnClose来清除会话等,一切运行良好。
但我希望在几秒钟后调用此btnclose函数以防用户不要单击该按钮。
到目前为止,我可以使用以下方法关闭modelpopup:
<script>
var timer;
clearTimeout(timer), timer = setTimeout('HideModalPopup();', 5000);
function HideModalPopup()
{
$find("ModalBehaviour").hide();
}
<script>
但是如何在.hide()之后调用btnClose服务器端事件,或者还有其他方法。再一次,我的基本目的是清除会话,并完全重新加载页面。
更新:
HTML CODE:
<asp:Button ID="btnShow" runat="server" Text="Show Modal Popup" style="display:none;"/>
<!-- ModalPopupExtender -->
<cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="Panel1" TargetControlID="btnShow"CancelControlID="btnClose" BackgroundCssClass="modalBackground" BehaviorID ="ModalBehaviour">
</cc1:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" align="center" style = "display:none">
<h2 id="ThankYou" class="thankYou" runat="server">شكرا!</h2>
<asp:Button ID="btnClose" runat="server" Text="Close" style="display:none;" />
<asp:Button ID="modelCloseBtn" CssClass="closebtnModel" runat="server" Text="اغلق" OnClick="btnClose_Click" />
</asp:Panel>
<!-- ModalPopupExtender -->
由于
答案 0 :(得分:0)
一个选项是@Manish在帖子的评论中建议的:将此功能公开为WebMethod,并使用AJAX或服务器端Click事件处理程序(根据需要)调用它。
另一个有点hackish的选择是找到ASP.NET为按钮生成的Javascript,并从代码中调用它。但这可能更脆弱,将来很容易破裂。