Почему данные HTML преобразуются после Response.Redirect ()? - PullRequest
1 голос
/ 22 марта 2011

Я использую Session для передачи данных с одной страницы на другую. Данные содержат HTML, и когда я отображаю его на другой странице, я вижу, что он другой.

Вот как я помещаю данные в сессию:

Session["omschrijving"] = Server.UrlEncode(lblOmschrijving.Text);

Вот как я получаю данные из сессии:

ftbOmschrijving.Text = (string)Session["omschrijving"];

Может кто-нибудь помочь мне, пожалуйста? Заранее спасибо.

Ответы [ 5 ]

3 голосов
/ 22 марта 2011

вам нужно декодировать закодированные данные.

· HttpUtility.UrlEncode () - для кодирования данных

· HttpUtility.UrlDecode () - для декодирования данных

2 голосов
/ 22 марта 2011

Ну, так как вы UrlEncode свои данные, вам нужно декодировать их при чтении.

ftbOmschrijving.Text = Server.UrlDecode(Session["omschrijving"]);
1 голос
/ 22 марта 2011

Насколько мне известно, вам даже не нужно URL кодировать эти данные, поскольку вы помещаете их в переменную Session.Это ненужный процесс, который требует драгоценного процессорного времени.

UrlEncoding используется, когда вы помещаете значение String в URL, т.е. если вы перенаправляете на определенный URL.

Удалите UrlEncode() и UrlDecode(), и с вами все должно быть в порядке, вы сэкономили немного времени на загрузке страницы и вызвали чуть меньше разочарования для тех бедных пользователей с низкой пропускной способностью!

1 голос
/ 22 марта 2011

Просто сделайте это

Session["omschrijving"] = lblOmschrijving.Text;

и то же самое, чтобы получить

ftbOmschrijving.Text = Convert.ToString(Session["omschrijving"]);
0 голосов
/ 22 марта 2011

Я бы попробовал:

ftbOmschrijving.Text = Server.UrlDecode(Session["omschrijving"]);
...