Response.Redirect зависает в ie6 - PullRequest
       8

Response.Redirect зависает в ie6

0 голосов
/ 27 января 2011

Я использую кнопку ссылки, которая позволяет пользователю обновить страницу. Кнопка ссылки хранится внутри панели обновления с таймером. Функция таймера состоит в том, чтобы проверить, регулярно ли кто-то обновлял базу данных. Если обнаруживается обновление, кнопка ссылки изменяется на видимую, и пользователь может выбрать «просмотреть обновления».

Источник для панели обновления:

           <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 зависает, но и весь браузер перестает отвечать на запросы и должен быть закрыт и перезапущен.

...