Произвольная перезапись Url приводит к неправильному URL-адресу запроса AjaxControlToolkit UpdatePanels при второй обратной передаче - PullRequest
0 голосов
/ 02 апреля 2011

Я пытаюсь реализовать пользовательский urlrewriting в global.asax моего сайта, и у меня возникают некоторые проблемы с панелями обновления из ajaxcontroltoolkit:

  • второй пост моей панели обновлений, кажется, запрашивает неправильный URL (то есть: если мой переписанный URL-адрес /en-US/parentPage/myPage.html и физический URL-адрес /default.asp?ln=en-US&page=myPage , второй пост обратно запрос /en-US/parentPage/default.asp?ln=en-US&page=myPage, который приводит к тому, что файл не найден ...)

Я не знаю, имеет ли это значение, но я деактивировал состояние просмотра на странице, установив Page.EnabledViewState в false.

Для реализации urlrewriting я использовал Server.Transfert (PhysicalUrl, true)

Также я попытался установить действие формы для переписанного URL-адреса, чтобы решить проблему, но затем ни одна из обратных передач больше не работала, даже те из элементов управления, которые не находятся в панели обновления.

Как я могу решить мою проблему с обновлениями? Возможно ли это сделать с помощью действия формы, настроенного на переписанный URL?

Большое спасибо;)

Ответы [ 2 ]

0 голосов
/ 14 марта 2013

Я обнаружил, что Server.Transfer() вызвал эту проблему.Я заменил на Response.Redirect().Сейчас работает нормально.

0 голосов
/ 05 апреля 2011

Я нахожу решение своей проблемы, похоже, проблема возникла из-за того, что состояние страницы было перезагружено неправильно из-за server.transfert, поэтому я реализовал пользовательскую функцию сохранения / загрузки состояния представления, как описано ниже, и затем все работало идеально;):

    protected override object LoadPageStateFromPersistenceMedium()
    {
        object viewstate = Session["__VIEWSTATE"];
        return viewstate;
    }
    protected override void SavePageStateToPersistenceMedium(object state)
    {
        Session["__VIEWSTATE"] = state;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...