URL问题中的引号 - ASP Classic

时间:2011-07-16 20:42:47

标签: html asp-classic

在我正在处理的其中一个网站上,我在每个项目页面上都有一个如下所示的链接(从呈现页面中获取的实际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

所以这就是问题所在。我在contact-us页面上检索了这个值:

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

编辑:
然后我把它作为输入字段的值放在一个表单中。它在表单字段中显示如下: 问题大约12

仅当字符串中出现引号时才会发生这种情况。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

你可能在你生成的html中有:

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

您需要使用"&quot;转义为s = Server.HTMLEncode(s)

答案 1 :(得分:0)

我首先想到的是你需要在获取字符串后替换特殊字符,而不是按原样使用它。也许Server.UrlEncode可以帮助您。