在我正在处理的其中一个网站上,我在每个项目页面上都有一个如下所示的链接(从呈现页面中获取的实际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
仅当字符串中出现引号时才会发生这种情况。我该如何解决这个问题?
答案 0 :(得分:5)
你可能在你生成的html中有:
<input value="Question About 12" Knife" />
您需要使用"
将"
转义为s = Server.HTMLEncode(s)
。
答案 1 :(得分:0)
我首先想到的是你需要在获取字符串后替换特殊字符,而不是按原样使用它。也许Server.UrlEncode可以帮助您。