Кавычка в проблеме с URL - ASP Classic - PullRequest
0 голосов
/ 17 июля 2011

На одном из веб-сайтов, над которым я работаю, на каждой странице элемента есть ссылка, которая выглядит следующим образом (фактический HTML взят из рендеринга страницы):

<a href="contact-us.asp?subject=Question+About+12%22+Knife">
  Ask a Question About This Item
</a>

Фактический код, который я использую для генерации этой ссылки, выглядит следующим образом:

<a href="contact-us.asp?subject=Question+About+<%=Server.UrlEncode(sTitle)%>">
  Ask a Question About This Item
</a>

Когда вы нажмете на ссылку, вы увидите это в адресной строке, как и ожидалось:

http://www.somedomainname.com/contact-us.asp?subject=Question+About+12%22+Knife

Так вот в чем проблема. Я получаю значение на странице контактов с нами следующим образом:

Dim s
s = Request.QueryString("subject")

Отредактировано:
Затем я помещаю его в форму в качестве значения поля ввода. Это выглядит в поле формы следующим образом: Вопрос о 12

Это происходит только тогда, когда в строке появляется кавычка. Как я могу решить эту проблему?

Ответы [ 2 ]

5 голосов
/ 17 июля 2011

Возможно, у вас есть в результате HTML:

<input value="Question About 12" Knife" />

Вам нужно выбрать " как &quot; с s = Server.HTMLEncode(s).

0 голосов
/ 17 июля 2011

Первое, что я догадываюсь, это то, что вам нужно заменить специальные символы после извлечения строки, а не использовать ее как есть.Возможно, в этом случае поможет Server.UrlEncode.

...