我要取得下面参数的DATA_3,DATA_5,DATA_6中的3,5,6这三个值该怎么办?参数名称并不固定
DATA_3=%u6d4b%u8bd5&DATA_5=5&DATA_6=%u673a%u5bc6还有就是想替换html里的#[文号] #[时间]为其他内容怎么办? 可能都需要用正则,谢谢了!

解决方案 »

  1.   

    DATA_3,DATA_4,DATA_5......这种格式是固定的吗?如果是固定的话,可以用正则'DATA_(\d)+'这样就能匹配所有的数字.
      

  2.   

    不明白你是取值问题还是字串拆解问题。1.如果是在页面里面取这三个参数的值,那就Request.QuaryString["DATA_3"]来得到值,以下类推。
    2.如果你是要分析这个字符串,那么拆解以下并做一下url解码string url ="DATA_3=%u6d4b%u8bd5&DATA_5=5&DATA_6=%u673a%u5bc6";
    string[] parts = url.split('&');//用&拆分各个参数值对。
    foreach ( string part in parts)
    {
        string[] val = part.split('=');//用=来拆分参数和值
        //这时候val[1]中就是需要的值了,还需要url解码
        string realValue = System.Web.HttpUtility.UrlDecode(val[1], Encoding.GetEncoding("GB2312")); 
        //realValue中就是参数实际的值了。
        MessageBox.Show(val[0]+"的值是"+realvalue);
    }代码是随手写的,你自己调试一下吧。
     
      
      
     
     
     =====================================================
    ◆◆◆[低价处理]西赛系分内部题,极高命中率,系分模拟题,系统分析师论文范文75篇,新技术资料,◆◆◆
    =====================================================
      

  3.   

    格式固定都是DATA_加数字,参数数目不固定,我只要所有DATA_后面的数字,不需要参数后面的值
      

  4.   

     function GetUrlParms()    
     {
    var args=new Object();   
    var query=location.search.substring(1);//获取查询串   
    var pairs=query.split("&");//在逗号处断开   
    for(var i=0;i<pairs.length;i++)   
    {   
    var pos=pairs[i].indexOf('=');//查找name=value   
    if(pos==-1)   continue;//如果没有找到就跳过   
    var argname=pairs[i].substring(0,pos);//提取name   
    var value=pairs[i].substring(pos+1);//提取value   
    args[argname]=unescape(value);//存为属性   
    }
        return args;
     }用javascript取调用时取DATA_3,DATA_5,DATA_6的值,用var args = new Object();
    args = GetUrlParms();
    var a=args["DATA_3"] //取DATA_3的值
    var b=args["DATA_5"] //取DATA_5的值
    var c=args["DATA_6"] //取DATA_6的值
      

  5.   

    不能使用js 因为要这只是个ajax处理页面前台没有代码只能在后台用,应该就是把这个url当作一个字符串然后取DATA_和=之间的数字
      

  6.   

    第一个自己解决了,用Request.Form.Keys[i]可以得到参数名
    第二个想替换html里的#[文号] ,#[时间]为其他内容怎么办? 一个#[]直接替换就行,文号和时间分别替换怎么办?简单说就是调用一个html设计好的表单,把里面的#标志替换为具体文字
      

  7.   

    Axp.net中,QueryString本身是个Key-value结果的。Key就是DATA_3,DATA_5,DATA_6,value是他们的值。
    1、先直接处理QueryString,取得DATA_3,DATA_5,DATA_6,是个数组
    2、再想法处理取得数组中的值3,5,6
    3、再处理值得数组。
      

  8.   

    System.Collections.Specialized.NameValueCollection param = 
           new System.Collections.Specialized.NameValueCollection();
    param = Request.QueryString;
    上述代码得到了URL中所有参数的名称和值。
    然后处理它们就可以了:
        string [] names = param.AllKeys;//得到所有参数名称
        string [] splitName = names.Split('_');//用_分割参数名称,DATA_3被分解为DATA和3
        splitName[0]是DATA
        splitName[1]即3。good luck