У меня есть страница aspx, где я хочу опубликовать значения на новой странице, а затем перенаправить на эту новую страницу. Я не получаю никаких ошибок и происходит перенаправление, но коллекция AllKeys
всегда пуста.Почему коллекция Request.Form.AllKeys пуста после POST и перенаправления?
Вот пример моего кода:
Try
With strPost
.Append("User=" & strUserName)
.Append("&Session=" + strValue)
End With
Dim objRequest As Net.HttpWebRequest = _
Net.WebRequest.Create("http://localhost:57918/testproject/test.aspx")
With objRequest
.Method = "POST"
.ContentType = "application/x-www-form-urlencoded"
.ContentLength = strPost.ToString().Length
End With
Dim objStream As IO.StreamWriter = _
New IO.StreamWriter(objRequest.GetRequestStream())
objStream.Write(strPost.ToString)
objStream.Close()
Catch ex As Exception
Debug.Print(ex.Message)
Exit Sub
End Try
Response.Redirect("http://localhost:57918/testproject/test.aspx")
Я видел несколько статей, подобные этой проблемы, но ни один из них не помог. Что я делаю не так?
Причина, по которой я пытаюсь это сделать, заключается в том, что эти значения не видны пользователю, поэтому использование запроса не является вариантом. – Chris
Мне удалось найти здесь возможное решение: http://www.codeproject.com/KB/aspnet/ASP_NETRedirectAndPost.aspx Я еще не тестировал, но это похоже на то, что мне нужно. – Chris
@ Chris. Решение, с которым вы связались, полезно только в том случае, если веб-страница, в которую вы отправляете сообщения, является частью другого приложения. Если обе страницы являются частью одного и того же приложения, я настоятельно рекомендую вам просто записать значения в состояние сеанса и перенаправить (например, Session («Пользователь») = strValue) –