首页 > 学院 > 开发设计 > 正文

.NET 获取Get方式URL中的参数键值

2019-11-17 02:20:52
字体:
来源:转载
供稿:网友

.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                 "/r/nname:" + 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”


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表