Согласно документации MSDN для Response.Redirect(string url)
, это бросит HttpException, когда "перенаправление будет предпринято после того, как HTTP-заголовки были отправлены". С тех пор Response.Redirect(string url)
использование заголовок ответа "Местоположения" Http ( http://en.wikipedia.org/wiki/HTTP_headers#Responses ), называя его заставит заголовки быть отправленными клиенту. Это означает, что при вызове его вторым разом, или если Вы называете его после того, как Вы заставили заголовки быть отправленными некоторым другим способом, Вы получите HttpException.
Один способ принять меры против вызова Ответа. Перенаправление () многократно должно проверить Response.IsRequestBeingRedirected
свойство (bool) прежде, чем назвать его.
// Causes headers to be sent to the client (Http "Location" response header)
Response.Redirect("http://www.stackoverflow.com");
if (!Response.IsRequestBeingRedirected)
// Will not be called
Response.Redirect("http://www.google.com");
Перенаправление может только произойти, если первая строка в сообщении HTTP" HTTP/1.x 3xx Redirect Reason
".
, Если Вы уже назвали Response.Write()
или установили некоторые заголовки, это будет слишком опаздывающее перенаправление. Можно попытаться звонить Response.Headers.Clear()
перед Перенаправлением, чтобы видеть, помогает ли это.
Как только Вы отправляете любое содержание вообще клиенту, HTTP-заголовки были уже отправлены. Response.Redirect()
вызов работает путем отправки специальной информации в заголовках, которые заставляют браузер попросить различный URL.
, Так как заголовки были уже отправлены, asp.net не может сделать то, что Вы хотите (измените заголовки)
можно обойти это a) или выполнением Перенаправления, прежде чем Вы сделаете что угодно еще, или b) попыткой с помощью Response.Buffer = true
, прежде чем Вы сделаете что угодно еще, чтобы удостовериться, что никакой вывод не отправляется клиенту, пока целая страница не сделана, выполнившись.
Просто убедитесь, что для параметра буферизации установлено значение false (по умолчанию его значение равно true). Для того чтобы response.redirect работал,
Функция перенаправления, вероятно, работает с использованием 'refresh' Заголовок http (и, возможно, с использованием кода 30X). После того как заголовки отправлены клиенту, сервер не может добавить эту команду перенаправления, это слишком поздно.
Существует один простой ответ для этого: Вы были произведены что-то еще, как текст или что-либо связанное с выходным от вашей страницы перед отправкой заголовка. Это влияние, почему вы получаете ту ошибку.
Просто проверяют ваш код на возможный вывод, или можно поместить заголовок сверху метода, таким образом, это будет, отправляют сначала.
Мне нравится ответ @ Randolpho. Что касается функций, я могу привести список здесь:
Определение точки функционального программирования
, а именно
Чем больше конкретный язык программирования имеет синтаксис и конструкции, адаптированные к тому, чтобы сделать различные функции FP, перечисленные выше, простыми/безболезненными для выражения и реализации, тем более вероятно, кто-то будет маркировать его "функциональным языком". "
-121--1359310-2) На данном этапе B должен объединить изменения, внесенные A, с собственными изменениями. Если они работали над различными частями кода в файле, средство управления версиями обычно может делать это автоматически. Если их изменения пересекаются, это может стать довольно одиозной задачей, но это случается редко.
3) Ветвь подобна копии части репозитория, с которой можно работать (фиксация изменений) отдельно от основной линии разработки - это может быть полезно для всех видов целей, например, когда у вас есть старые версии, которые вы хотите предоставить bugfixes для, не заставляя пользователей обновлять до текущей версии (большинство крупных проектов программного обеспечения делают это).
-121--4195927-При попытке перенаправления после отправки заголовков (например, если выполняется перенаправление с частично сгенерированной страницы) можно отправить несколько клиентских Javascript (locationreplace или location.href и т.д.) для перенаправления на любой нужный URL-адрес. Конечно, это зависит от того, какой HTML уже отправлен вниз.