如何从 C# 中的 url 中的查询字符串解析特定数据?

How to parse specific data from query string in a url in C#?

我想从 URL 查询字符串中解析数据并存储它。下面给出的是我的样本 URL。由此我想解析数据并存储在某处

http://www.example.com/default.aspx?VN=919999999999&Rawmessage=urlTest&Time=2013-04-08 12:32:04&Send=919000000002&MID=101878052

我想将 VN 和 Rawmessage 存储到这些字符串中,

string x = Request.QueryString["VN"]
string y = Request.QueryString["Rawmessage"]

请帮我想办法。

将此代码放在 Default.aspx.cs 文件的 Page_Load() 函数中。

    protected void Page_Load(object sender, EventArgs e)
    {

        string x = Request.QueryString["VN"];
        string y = Request.QueryString["Rawmessage"];
    }

根据我们的讨论,我认为您想解析查询字符串键值对并在其他地方使用这些值。

此外,ASP.Net 不需要对解析做任何事情,这是一个纯 C# 问题。

我在控制台应用程序的上下文中给出了问题的示例解决方案,您可以根据自己的喜好自由重复使用这些代码。

var inputUrl =
@"http://www.example.com/default.aspx?VN=919999999999&Rawmessage=urlTest&Time=2013-04-08 12:32:04&Send=919000000002&MID=101878052";

int index = inputUrl.IndexOf("?");

var queryString = inputUrl
                .Substring(index + 1)
                .Split('&');
foreach (var strKeyValuePair in queryString)
  {
     var keyValPair = strKeyValuePair.Split('=');
                Console.WriteLine("Key: {0}, Value: 
                   {1}",keyValPair[0],keyValPair[1]);
  }

Console.WriteLine("\n============================================\n\n");

string VN = queryString.FirstOrDefault(x => x.StartsWith("VN"));
string RawMessage = queryString.FirstOrDefault(x => 
                            x.StartsWith("Rawmessage"));

Console.WriteLine("VN: {0}",VN.Split('=')[1]);
Console.WriteLine("RawMessage: {0}", RawMessage.Split('=')[1]);

Console.ReadLine(); // just to halt the console