У меня есть следующий код на моем сайте: многоязычный (MasterPage.master.vb)VB.NET Перенаправление петля ошибка
Dim pageUrl As String = HttpContext.Current.Request.Url.AbsolutePath
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim strLanguage As String = Session("Language")
If Not IsPostBack Then
Response.Redirect(String.Format("{0}?Language={1}", pageUrl, strLanguage))
End If
Response.Write(String.Format("{0}?Idioma={1}", pageUrl, strLanguage))
End Sub
Он будет отображать querystrings:? '? Language = ES' или»Language = en 'в конце текущего URL-адреса, но когда я запускаю веб-браузер, браузер отображает сообщение: Эта страница имеет цикл переадресации (ERR_TOO_MANY_REDIRECTS).
Почему это происходит? Как я могу это исправить?
Заранее спасибо
Edit: Я также попытался с:
If IsPostBack Then
, но когда я делаю это, строки запроса не появляется в конце URL.
Редактировать 2 (решено): Он работает наконец! Большое спасибо zed, окончательный код выглядит следующим образом:
Dim pageUrl As String = HttpContext.Current.Request.Url.AbsolutePath
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim strLanguage As String = Session("Language")
If Not IsPostBack Then
If Request.QueryString("Language") Is Nothing Then
Response.Redirect(String.Format("{0}?Language={1}", pageUrl, strLanguage))
End If
Else
If Not Request.QueryString("Language") Is Nothing Then
Response.Redirect(String.Format("{0}?Language={1}", pageUrl, strLanguage))
End If
End If
Response.Write(String.Format("{0}?Language={1}", pageUrl, strLanguage))
End Sub
Когда я удалить «Not» строки запроса не появляется в конце URL. – user3375954
Хорошо, спасибо за ваш ответ, я попробую. – user3375954
См. Обновленный ответ. – zed