Как перенести много html-контента с одной страницы .aspx на другую .aspx? - PullRequest
0 голосов
/ 05 января 2012

извините за плохой язык!

Мне нужна небольшая помощь.Я пытаюсь сделать приложение asp.Net, c # для онлайн-опросов.Основная цель - динамически добавлять вопросы один под другим, а затем сохранять их и делать доступными для их решения.Вы выбираете один из четырех типов вопросов, вставляете параметры и затем динамически генерируете HTML-код, состоящий из меток, переключателей, комбо, текстовых полей ... для каждого.
Пример метода, который используется для создания одного вопроса в форме.

public string RetOptionalQuestion(string seq_numm, string question, string answersOpt)<br>
{<br>
StringBuilder _output = new StringBuilder();</p>

<code>_output.Append(@"<table><tr"><th>" + seq_numm + "." + question + "</th></tr>");  
_output.Append(@"<tr><td><table>");

string[] words = answersOpt.Split(';');

int m = 0;
foreach (string word in words)
{
   if (word != "") 
     {
      _output.Append(@" <tr><td> <label> " + word + "</label> </td> <td>
           <input  id='optional" + question + Convert.ToString(m) +
                "'type='radio' name='rbOpt" + question + "' </td> ");
     m++;
     }
}
_output.Append("</table></td></tr></table>");
return _output.ToString();
}
</code>

Каждый раз, когда вы нажимаете кнопку Добавить вопрос, вопрос появляется ниже друг друга в div, который находится в ContentPlaceHolder внизу страницы.

Теперь я хочу, чтобы, когда вы нажимаете кнопку, он переносил весь html этого div (полный вопросов) на новую страницу .aspx, поэтому вопросы доступны для решения.

Я пытаюсь с помощью jQuery взять полный html-файл div и сохранить его в cookie, с помощью этой справки http://jquery -howto.blogspot.com / 2010/09 / jquery-cookies-getsetdelete-plugin.html , но безуспешно.

Ошибка клиента -> Обнаружено потенциально опасное значение Request.Cookies от клиента

Есть ли у вас какие-либо советы, подсказки, например,решение ... с чего начать ... мне было бы очень приятно

Заранее спасибо, Мартин

Ответы [ 2 ]

3 голосов
/ 05 января 2012

Эта ошибка возникает из-за того, что вы сохраняете HTML в куки.Учитывая, что это выглядит как потенциальная атака XSS, выдается это предупреждение.

Предполагают, что вам не следует переносить HTML со страницы на страницу.Вместо этого ваша полезная нагрузка от страницы к странице должна быть государственной.Страница-получатель должна быть в состоянии проверить состояние файла cookie и перестроить этот список вопросов.Попробуйте добавить эту таблицу в пользовательский элемент управления ASP.NET и повторно использовать этот элемент управления на этих двух страницах.Таким образом, вам не нужно будет тянуть HTML.

0 голосов
/ 20 ноября 2014

Вместо использования куки для перемещения HTML между запросами. Вы можете использовать переменные сеанса или какое-то поле в БД. Сохраните весь html в некоторый hiddenField на исходной странице, а на стороне сервера вы можете установить этот html в переменную сессии.

При загрузке следующей страницы вы можете прочитать этот html из переменной сеанса и затем очистить переменную. Но помните, что если вы хотите опубликовать html на сервере, вы должны установить ValidateRequest = "false" в теге страницы исходной страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...