我在.NET中发现了一个奇怪的行为UriBuilder
Senario 1:
Dim uri As New UriBuilder("http://www.test/login.aspx")
uri.Query = "?test=Test"
Dim url As String = uri.ToString()
Run Code Online (Sandbox Code Playgroud)
运行此代码后,url字符串包含"http://www.test/login.aspx ?? test = Test"
解决方法是不添加?.
Senario 2:
Dim uri As New UriBuilder("http://www.test/login.aspx?test=123")
uri.Query += "&abc=Test"
Dim url As String = uri.ToString()
Run Code Online (Sandbox Code Playgroud)
运行该代码之后我们还有两个?的 "http://www.test:80/login.aspx的??测试= 123&ABC =测试".
在使用uri构建器时,我做错了吗?
小智 8
The following example sets the Query property.
UriBuilder baseUri = new UriBuilder("http://www.contoso.com/default.aspx?Param1=7890");
string queryToAppend = "param2=1234";
if (baseUri.Query != null && baseUri.Query.Length > 1)
baseUri.Query = baseUri.Query.Substring(1) + "&" + queryToAppend;
else
baseUri.Query = queryToAppend;
Run Code Online (Sandbox Code Playgroud)
The first char ? is not necessary.
More info: http://msdn.microsoft.com/en-us/library/system.uribuilder.query.aspx
| 归档时间: |
|
| 查看次数: |
4648 次 |
| 最近记录: |