.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”

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM