asp.net MVC 内置实现了
mvc的我知道,就是webform的有吗
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; }
就因为需要编辑的实体太多,所以才不想这么写的。
@越天: 看下面的评论有又不会反射,有没有泛型编程思想,先这样写吧
自己写个类,再自定义一个attribute类,然后写一个反射函数,使用泛型函数就可以搞定了。
暂时还不会,你那有例子可以给参考一下吗
@越天: 稍微有点复杂,没有现成的例子,都在项目里。
@沧海一杰: 最简单的办法,定义一个泛型方法,原型大概像下面这样的:
T GetUrlParameters<T>(string url) where T:new() { var item = new T(); //利用反射把url相关参数值赋给item同名成员 return item(); }
@越天: 调用的时候可以像这样:
var test = xxx.GetUrlParameters<Test>(url);
Debug.Print(test.a);
学习了