Response.Redirect挂起ie6

时间:2011-01-27 16:55:45

标签: c# asp.net response.redirect

我正在使用允许用户刷新页面的链接按钮。链接按钮存储在带有计时器的更新面板内。计时器的功能是检查是否有其他人定期更新数据库。如果检测到更新,则链接按钮将更改为可见,用户可以选择“查看更新”。

更新面板的来源:

           <asp:UpdatePanel ID="UpdatePanelDraftUpdate" runat="server">
                <ContentTemplate>
                    <asp:Timer ID="TimerCheckForDraftUpdates" runat="server" Interval="10000" OnTick="TimerCheckForDraftUpdates_Tick">
                    </asp:Timer>
                    <asp:HiddenField ID="HiddenFieldLatestDraftUpdate" runat="server" />
                    <asp:HiddenField ID="HiddenFieldRestricted" runat="server" />
                    <asp:Panel ID="PanelDraftUpdateNotif" runat="server" Visible="false">
                        <div class="bannerwarn">
                            <asp:Label ID="LabelDraftUpdate" runat="server" Text="This draft was edited by:"
                                CssClass="bannerwarnlabel"></asp:Label>
                            <asp:LinkButton ID="LinkButtonViewUpdates" runat="server" CssClass="bannerwarnlabel"
                                OnClick="LinkButtonViewUpdates_Click">See The Updates</asp:LinkButton>
                            <asp:ImageButton ID="ImageButtonCloseDraftNotif" runat="server" ImageUrl="~/Images/window_close.bmp"
                                CssClass="bannerwarnclose" OnClick="ImageButtonCloseDraftNotif_Click" />
                        </div>
                    </asp:Panel>
                </ContentTemplate>
            </asp:UpdatePanel>

当用户单击链接按钮时,可以根据状态将页面重定向为两种方式之一。 Memogram对象在页面加载时存储在会话状态中。链接按钮的来源单击:

protected void LinkButtonViewUpdates_Click(object sender, EventArgs e)
    {
        //it is possible the MG was moved out of the draft state.  In this case, we must redirect to the view page.
        Memogram mg = new Memogram();
        try
        {
            mg = SessionWrapperUser.Current.curMemogram;
        }
        catch (Exception)
        {
            mg = Memogram.GetMemogramById(GetMemogramIdFromPageRequest());
        }

        if (mg.GetStateName().ToLower() == "draft")
        {
            Page.Response.Redirect(Page.Request.Url.ToString(), true);
        }
        else
        {
            Page.Response.Redirect("ViewMemogram.aspx?mid=" + mg.MemogramId.ToString(), true);
        }
    }

我遇到的问题是在开发(IE8)和运行IE8的生产客户端上一切正常。但是,使用IE6的生产客户端会在单击链接按钮时挂起。它不仅仅是IE6浏览器挂起,而且整个浏览器都没有响应,必须关闭并重新启动。

0 个答案:

没有答案