欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#分析URL参数并获取参数和值对应列表的方法

程序员文章站 2023-12-03 10:50:34
本文实例讲述了c#分析url参数获取参数和值对应列表的方法。分享给大家供大家参考。具体分析如下: 这个c#函数用于分析url中传递的所有参数,输出一个参数名和参数值对应的...

本文实例讲述了c#分析url参数获取参数和值对应列表的方法。分享给大家供大家参考。具体分析如下:

这个c#函数用于分析url中传递的所有参数,输出一个参数名和参数值对应的namevaluecollection列表,经常能用得到

/// <summary>
/// 分析 url 字符串中的参数信息
/// </summary>
/// <param name="url">输入的 url</param>
/// <param name="baseurl">输出 url 的基础部分</param>
/// <param name="nvc">输出分析后得到的 (参数名,参数值) 的集合</param>
public static void parseurl(string url, out string baseurl, out namevaluecollection nvc)
{
  if (url == null)
 throw new argumentnullexception("url");
  nvc = new namevaluecollection();
  baseurl = "";
  if (url == "")
 return;
  int questionmarkindex = url.indexof('?');
  if (questionmarkindex == -1)
  {
 baseurl = url;
 return;
  }
  baseurl = url.substring(0, questionmarkindex);
  if (questionmarkindex == url.length - 1)
 return;
  string ps = url.substring(questionmarkindex + 1);
  // 开始分析参数对  
  regex re = new regex(@"(^|&)?(\w+)=([^&]+)(&|$)?",regexoptions.compiled);
  matchcollection mc = re.matches(ps);
  foreach (match m in mc)
  {
 nvc.add(m.result("$2").tolower(), m.result("$3"));
  }
}

希望本文所述对大家的c#程序设计有所帮助。