Как избежать “Ответа. Перенаправление нельзя назвать в обратном вызове Page”

Выбирание цвета фона представления для округленной-rect кнопки не изменит цвет фона кнопки. Попытайтесь делать кнопку пользовательской кнопкой (первое выпадающее в инспекторе) и затем выбрать цвет фона. Вы получите желаемый эффект:)

13
задан Allen Rice 8 October 2009 в 16:02
поделиться

2 ответа

Вы можете попробовать

if (!Page.IsCallback)
    Request.Redirect("url");

или, если у вас нет страницы под рукой ...

try
{
    if (HttpContext.Current == null)
        return;
    if (HttpContext.Current.CurrentHandler == null)
        return;
    if (!(HttpContext.Current.CurrentHandler is System.Web.UI.Page))
        return;
    if (((System.Web.UI.Page)HttpContext.Current.CurrentHandler).IsCallback)
        return;

    Server.Transfer("~/Error.aspx");
}
catch (Exception abc)
{
    // handle it
}
15
ответ дан 1 December 2019 в 22:07
поделиться

Вы должны загрузить свой ScriptManager или ScriptManagerProxy, а затем проверить флаг IsInAsyncPostBack. Это будет выглядеть примерно так:

ScriptManager sm = this.Page.Form.FindControl("myScriptManager") as ScriptManager;
if(!sm.IsInAsyncPostBack)
{
    ...
}

Таким образом, вы можете смешивать асинхронные обратные передачи (которые не должны перенаправлять) с обычными обратными передачами, которые, я предполагаю, вы все еще хотите перенаправить.

1
ответ дан 1 December 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: