首页 新闻 会员 周边 捐助

url地址转换为对象

0
悬赏园豆:20 [已解决问题] 解决于 2016-03-29 10:12

url地址:   http://www.baidu.com/default.aspx?a=1&b=2&c=3&d=4

 

类: public class Test

{

public int a;

public string b;

public string c;

}

 

 

请问下我现在有这个url和这个类,我想把地址中的参数转换为一个Test对象。请问下有现成的类库或者实现方式吗?感谢!!!!

越天的主页 越天 | 初学一级 | 园豆:8
提问于:2015-09-03 16:04
< >
分享
最佳答案
0

asp.net MVC 内置实现了

收获园豆:10
刘宏玺 | 专家六级 |园豆:14020 | 2015-09-03 16:27

mvc的我知道,就是webform的有吗

越天 | 园豆:8 (初学一级) | 2015-09-03 20:27
其他回答(3)
0
 var url="http://www.baidu.com/default.aspx?a=1&b=2&c=3&d=4";
  public Test parseQueryString(url){
         var test=new Test();
          var str=url.split("?")[1];
          var items=str.split("&");
          var result={};            
          var arr=[];
          for(var i=0; i<items.length; i++){
               arr=items[i].split('=');
               //用swith好点,我用if写了你改下
               if(arr[0]==a)
               test.a=arr[1];
               if(arr[0]==b)
               test.a=arr[1];
               if(arr[0]==b)
               test.a=arr[1];
        }
       return test;
 }
收获园豆:5
稳稳的河 | 园豆:4216 (老鸟四级) | 2015-09-03 16:23

就因为需要编辑的实体太多,所以才不想这么写的。

支持(0) 反对(0) 越天 | 园豆:8 (初学一级) | 2015-09-04 19:38

@越天: 看下面的评论有又不会反射,有没有泛型编程思想,先这样写吧

支持(0) 反对(0) 稳稳的河 | 园豆:4216 (老鸟四级) | 2015-09-05 14:37
0

自己写个类,再自定义一个attribute类,然后写一个反射函数,使用泛型函数就可以搞定了。

收获园豆:5
空明流光 | 园豆:111 (初学一级) | 2015-09-04 19:35

暂时还不会,你那有例子可以给参考一下吗

支持(0) 反对(0) 越天 | 园豆:8 (初学一级) | 2015-09-04 19:38

@越天: 稍微有点复杂,没有现成的例子,都在项目里。

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2015-09-04 19:41

@沧海一杰: 最简单的办法,定义一个泛型方法,原型大概像下面这样的:

T GetUrlParameters<T>(string url) where T:new()
{

     var item = new T();

  //利用反射把url相关参数值赋给item同名成员

     return item();
}
支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2015-09-04 19:46

@越天:  调用的时候可以像这样:

var test = xxx.GetUrlParameters<Test>(url);

Debug.Print(test.a);

 

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2015-09-04 19:51
0

学习了

如此低调的男人 | 园豆:842 (小虾三级) | 2015-09-30 16:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册