NETはGet方式URLのパラメータキーを取得します.

10630 ワード

Web開発では、Get方式のURLのパラメータキーを取得する必要がある場合が多く、ここでは簡単に三つの方法を紹介します.
第一の方法はJavaScriptを使ってlocations.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.
 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
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アドレスを取得してNameValue Collectionのオブジェクトに変換する例もある.
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”