這裏的正確方法(使用ParseQueryString法):
using System;
using System.Web;
class Program
{
static void Main()
{
var query = "?method=createimage&chart1=https://chart.googleapis.com/chart?chs=250x100&chd=t:60,40&cht=p3&chl=Hello|World";
var values = HttpUtility.ParseQueryString(query);
Console.WriteLine(values["method"]);
Console.WriteLine(values["chart1"]);
}
}
,如果你想建立這樣的查詢字符串:
using System;
using System.Web;
class Program
{
static void Main()
{
var values = HttpUtility.ParseQueryString(string.Empty);
values["method"] = "createimage";
values["chart1"] = "https://chart.googleapis.com/chart?chs=250x100&chd=t:60,40&cht=p3&chl=Hello|World";
Console.WriteLine(values);
// prints "method=createimage&chart1=https%3a%2f%2fchart.googleapis.com%2fchart%3fchs%3d250x100%26chd%3dt%3a60%2c40%26cht%3dp3%26chl%3dHello%7cWorld"
}
}
哦,對了,你給什麼在你的問題是一個無效的查詢字符串,這是由我已經顯示的第二個代碼片段的輸出確認。您應該對您的chart1
參數進行URL編碼。在查詢字符串中有多個?
字符完全違反所有標準。
這裏是正確的查詢字符串會是什麼樣子:
?method=createimage&chart1=https%3A%2F%2Fchart.googleapis.com%2Fchart%3Fchs%3D250x100%26chd%3Dt%3A60%2C40%26cht%3Dp3%26chl%3DHello%7CWorld
哈!謝謝。我認爲這會比這更困難。我應該先嚐試一下。非常感謝你的幫助!非常感謝。 – 2012-01-26 22:56:39