asp.net中页面间url参数传递的三种实现方法

5 篇文章 0 订阅
1 篇文章 0 订阅

要进行参数传递的URL为 demo.aspx?name=feiyue&city=beijing

方法一:javascript方法,将url解析放到单独的函数中

 function GetRequest() {
            var url = decodeURI(location.search); //获取url中"?"符后的字串  
            var theRequest = new Object();
           // if (url.indexOf("?") != -1) {
               var str = url.substr(url.indexOf("?") + 1);
             //   var str = url.substr(1);
                strs = str.split("&");
                for (var i = 0; i < strs.length; i++) {
                    theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
                }
           // }
            return theRequest;
        }

        var objRequest = new Object();
        objRequest = GetRequest();

        var name = objRequest['name'];
        var city = objRequest['city'];
       
        alert("name: " + name + "city: " + city);

 方法二:使用JS+正则表达式的方法 

function getUrlParam(name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
            var r = window.location.search.substr(1).match(reg);  //匹配目标参数
            if (r != null) return unescape(r[2]); return null; //返回参数值
        }     
        var name = objRequest['name'];
        var city = objRequest['city'];

       alert("name: " + name + "city: " + city);


 

方法三: 比较完整的参数获取方式js

// 获取地址栏的参数数组
        function getUrlParams() {
            var searchurl = window.location.search;
            // 写入数据字典
            var tmparray = searchurl.substr(1, searchurl.length).split("&");
            var paramsArray = new Array;
            if (temparray != null) {
                for (var i = 0; i < temparray.length; i++) {
                    var reg = /[=|^==]/;    // 用=进行拆分,但不包括==
                    var set1 = temparray[i].replace(reg, '&');
                    var tempStr2 = set1.split('&');
                    var array = new Array;
                    array[tempStr2[0]] = tempStr2[1];
                    paramsArray.push(array);
                }
            }
            // 将参数数组进行返回
            return paramsArray;
        }

        // 根据参数名称获取参数值
        function getParamValue(name) {
            var paramsArray = getUrlParams();
            if (paramsArray != null) {
                for (var i = 0 ; i < paramsArray.length ; i++) {
                    for (var j in paramsArray[i]) {
                        if (j == name) {
                            return paramsArray[i][j];
                        }
                    }
                }
            }
            return null;
        }     
        var name = getParamValue['name'];
        var city = getParamValue['city'];
       
        alert("name: " + name + "city: " + city);

 
 方法四:扩展使用Jquery方式实现 

    (function($){
      $.getUrlParam= function(name)
         {
              var reg= new RegExp("(^|&)"+name +"=([^&]*)(&|$)");
              var r= window.location.search.substr(1).match(reg);
              if (r!=null) return unescape(r[2]); return null;
          }
      })(jQuery);
       var name = $.getUrlParam('name');
        var city = $.getUrlParam('city');
       
       alert("name: " + name + "city: " + city);

 
 
 


以上四种方式都可以实现在页面之前进行参数的传递,获取URL地址,并解析参数



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值