zoukankan      html  css  js  c++  java
  • .NET 获取Get方式URL中的参数键值

    在Web开发中,我们常常会涉及到需要获取Get方式URL中的参数键值的情况,这里简单介绍三种方法:

    第一种:常用的做法有使用JavaScript获取location.href后用正则表达式匹配获取此URL的所有键值对;也可以通过以“&”为分隔符进行分隔后存储在对象中,然后获取对象中的键值对,如下例子:

    queryString.js

     1 var queryString= {
     2         data:{},
     3         initial:function(){
     4             var paramGroup;
     5             var tempGroup;
     6             var queryStr = new String(window.location.search);
     7             queryStr = queryStr.substr(1,queryStr.length);//remove "?"
     8             paramGroup = queryStr.split("&");
     9             for(var i=0; i<paramGroup.length; i++){
    10                 tempGroup = paramGroup[i].split("=");
    11                 this.data[tempGroup[0]] = tempGroup[1];
    12             }
    13         },
    14         getValue:function(key){
    15             return this.data[key];
    16         }
    17 }

    queryString.html

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
     2 <html>
     3     <head>
     4         <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
     5         <title>获取Get方式URL中的参数键值</title>
     6         <script type="text/javascript" src="queryString.js">
     7         </script>
     8     </head>
     9     <body>
    10         <div id="divParameter">
    11         </div>
    12         <input type="button" id="btnNew" value="打开新窗口" onclick="window.open('queryString.html?id=1001&name='+encodeURI('博客园KenmuHuang'));" />
    13     </body>
    14     <script type="text/javascript">
    15         window.onload=function(){
    16             queryString.initial();
    17             document.getElementById("divParameter").innerHTML = "id:" + queryString.getValue("id") + 
    18                 "
    name:" + decodeURI(queryString.getValue("name"));
    19         };
    20     </script>
    21 </html>

    第二种:这里比如有个Key参数键,需要获取它对应的值;这时可以使用.NET里的Request.Form["Key"](针对Post)或Request.QueryString["Key"](针对Get),也可以用Request["Key"](Post和Get都可以)

    其实.NET还有一种做法,就是获取到URL地址后转化为NameValueCollection对象示例,如下例子:

    1 using System.Web;
    2 using System.Collections.Specialized;
    3 
    4 NameValueCollection collection = HttpUtility.ParseQueryString("?ProjectID=-1&ProID=-1&CurId=503&IsTender=Y&PlanID=-1&hasAccess=True&mode=v");
    5 string hasAccess = collection.Get("hasAccess"); //“True”
  • 相关阅读:
    程序如何调取焦点轮换图的每一张图片
    做一个网站程序的小小感悟
    点击repeater的一个修改事件触发全部repeater每一行的修改事件
    将两个时间组合,结果为2015年4月8日-4月10日
    转 c# 日期函数[string.Format----GetDateTimeFormats]格式 .
    关于后台管理linkbutton按钮几个重要属性的理解
    循环repeater中的每一列,并计算数据和
    上传图片2
    isinstance和issubclass
    类和对象的绑定方法和非绑定方法
  • 原文地址:https://www.cnblogs.com/huangjianwu/p/4539603.html
Copyright © 2011-2022 走看看