在Javascript计时器

时间:2016-11-20 13:48:55

标签: javascript c# jquery asp.net

我有一个页面名称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 -->

由于

1 个答案:

答案 0 :(得分:0)

一个选项是@Manish在帖子的评论中建议的:将此功能公开为WebMethod,并使用AJAX或服务器端Click事件处理程序(根据需要)调用它。

另一个有点hackish的选择是找到ASP.NET为按钮生成的Javascript,并从代码中调用它。但这可能更脆弱,将来很容易破裂。