我有一个简单的VB.net应用程序,它有一个文本框,我将其传递给URL进行搜索。所以我想说我想发送这个: 搜索“* ball”
所以,我的搜索将在*之后用球查找所有内容。问题是,它在我发送它时会删除引号。
System.Diagnostics.Process.Start("https://searchgames.local/search?game=" & TextBox1.Text)
如何在文本框中查找引号,如果它们在那里,请将它们适当地传递给我发送到的URL。在我的代码下面,只需确保它们实际上在文本框中输入内容。一如既往,我们一直都很感激帮助。
If TextBox1.Text = "" Then ' If user does not enter any text
MsgBox("Enter text to search on." & vbCrLf & Err.Description, MsgBoxStyle.Information, "Need search term to search on.")
TextBox1.Focus() 'Set the cursor back to the text box
答案 0 :(得分:1)
如果您使用的是网络应用,则可以使用HttpUtility.UrlEncode
正确转义引号字符。在Web应用程序之外,MSDN建议您使用WebUtility.UrlEncode
。您也可以使用Uri.EscapeDataString
,但似乎有some problems。
所以,例如,你可以这样做:
Process.Start("https://searchgames.local/search?game=" & HttpUtility.UrlEncode(TextBox1.Text))
或者这个:
Process.Start("https://searchgames.local/search?game=" & WebUtility.UrlEncode(TextBox1.Text))
或者这个:
Process.Start("https://searchgames.local/search?game=" & Uri.EscapeDataString(TextBox1.Text))
答案 1 :(得分:0)
试试这个:
Dim url as string = "https://searchgames.local/search?game=" & TextBox1.Text
Dim encodedurl as string = HttpContext.Current.Server.UrlEncode(url)
System.Diagnostics.Process.Start(encodedurl)