NETはGet方式URLのパラメータキーを取得します.
10630 ワード
Web開発では、Get方式のURLのパラメータキーを取得する必要がある場合が多く、ここでは簡単に三つの方法を紹介します.
第一の方法はJavaScriptを使ってlocations.hrefを取得した後、正規表現でこのURLのすべてのキーペアを取得します.「&」を区切りとしてオブジェクトに格納し、オブジェクトのキーペアを取得することもできます.
queryString.js
第二の種類:ここには例えばKeyパラメータキーがあります.これに対応する値を取得する必要があります.このとき使用できます.NETのRequest.Form[Key](Postに対して)またはRequest.QueryString["Key](Getに対して)も、Request["Key"(PostとGetでも良いです.)
NETは、URLアドレスを取得してNameValue Collectionのオブジェクトに変換する例もある.
第一の方法は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”