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#程序设计有所帮助。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#分析URL参数并获取参数和值对应列表的方法

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23058.html

相关内容

ListView用法中与滚动相关的需求实现

C#格式化json字符串的方法分析

c#实现几种数据库的大数据批量插入

解析C#中断言与异常的应用方式及异常处理的流程控制


C#正则表达式Regex类的常用匹配

C#中实现判断某个类是否实现了某个接口

c#编写的番茄钟倒计时器代码

C#实现ProperTyGrid自定义属性的方法

时间: 2024-08-08 00:25:37

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

Spring MVC url提交参数和获取参数

普通URL提交参数 该格式url为:url.do?param1=mahc&param2=8888.00 需要在上文中的HelloController对象添加方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 /**      * Spring MVC URL提交参数      * @param name      * @return      */     @RequestMapping(/param)     public ModelAndView getInfo(@Request

String作为输出型参数时获取不到值

有时候在一个方法中,我们需要返回多个字符串,而又不想将这些字段包成一个类.此时就需要使用输出型参数. 但是如果将输出型参数的类型声明为String,那么调用该方法后,是获取不到我们想要的值的. 测试代码如下: public class StringTest { public static void main(String[] args){ StringTest st = new StringTest(); String a = "a"; String b = "b"

Android实现获取应用程序相关信息列表的方法

本文所述为Androdi获取手机应用列表的方法,比如获取到Android应用的软件属性.大小和应用程序路径.应用名称等,获取所有已安装的Android应用列表,包括那些卸载了的,但没有清除数据的应用程序,同时在获取到应用信息的时候,判断是不是系统的应用程序,这是一个应用管理器所必需具备的功能. 具体实现代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

ASP.new GridView获取隐藏列值的几种方法

解决方法: 原文来自:http://www.tzwhx.com/NewShow/newBodyShow/控件_32933.html 作者:lerit  1.隐藏列前获取数据 看这样一个例子(以下均以此为例):用户选择一些查询条件后,点击"查询"按钮.后台需要根据每行中第六列的值是否为1,来设置第三个单元格的背景色为红色. 这种方法中,后台是在按钮的Click事件中,去数据库取记录,然后得到DataTable,最后将它绑定到GridView中.如果我们需要在GridView的RowDat

JS分析URL字符串,取得参数名,AJAX传参请求代码示例

//当前页面URL中参数分析函数,正则校验 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return

SpringMVC传递参数和获取参数以及返回数据

1.传递form表单,参数接收到对象,name和对象属性对应上即可:   2.springmvc不能直接通过form表单传递多个对象的list集合,要么采用ajax传递,要么采用封装了list属性的bean来接收,jsp页面的name和list的name对应,采用下标区分       3.传递ajax获取数据,ajax可以方便传递多个对象list   4.获取路径参数:  

beanutils设置参数和获取参数

public class Employee implements DynaBean  { private String  firstName="李";    private String lastName;    public Employee() {    } ;           public String getFirstName() {        return firstName;    }     public void setFirstName(String firs

不传参数名获取参数(前、后台代码)

js var xhr = new XMLHttpRequest(); xhr.open("post", "/Home/NoParamTest", true); //两种协议都可以 xhr.setRequestHeader("Content-Type", "application/json"); //xhr.setRequestHeader("Content-Type", "application/

笔记-[1]-获取元素样式值的兼容性问题解决方法。

在获取某些元素的样式值时需要用到不同的兼容方法来获取,如获取div的height的值 代码: <html> <style> #div1{width:100px;height:100px;background:red;}//获取非行间样式 </style> <div id="div1"> </div> </html> JS兼容版获取样式值: <script type="text/javascript&