Response.Write(parms);
Response.Write(obj.Name);
Response.Write(obj.Age);
我在cache中存了一个类对象,现在取出来放入一个var对象中,请问我如何取出属性?
24 个解决方案
#1
up
#2
友情帮顶
#3
thanks
#4
你这个是JSON应该做的事情,具体自己去查资料怎么构造JSON字符串以及前端解析JSON字符生成相应的js对象
另外还有个简单方法,不过可能不太灵活
<script>
var myGirl = new Object();
o.Name = '<%=Cache[parms]%>';//最好在后端做个方法,比如GetMyGirlProperty("Name"),做好出错控制。
o.Age= <%=Cache[parms]%>;
使用:
alert(myGirl.Name);
</script>
另外还有个简单方法,不过可能不太灵活
<script>
var myGirl = new Object();
o.Name = '<%=Cache[parms]%>';//最好在后端做个方法,比如GetMyGirlProperty("Name"),做好出错控制。
o.Age= <%=Cache[parms]%>;
使用:
alert(myGirl.Name);
</script>
#5
必须类型转换
#6
写掉了,o.Name = ' <%=Cache[parms].Name%>
#7
转换成你自己的对象就ok了
#8
我在调试的时候发现,Cache[parms]; 中的obj是有name和age属性的,所以我引用var来创建匿名类,
调试时发现属性也赋值过来了,现在唯一的问题是怎么样才能把属性取出来。
我现在不需要json,只需要取出属性。谢谢
调试时发现属性也赋值过来了,现在唯一的问题是怎么样才能把属性取出来。
我现在不需要json,只需要取出属性。谢谢
#9
你要知道Cache存的是什么类型 ,然后转换了才能使用属性 不然就是object类的实例对象
#10
还没编译的时候,编译器无法知道你的obj是什么类型,即使你用匿名类型,编译器也只有在运行的时候才能知道obje是什么类型
所以你要想在编码的时候点出Name和Age属性,必须类型转换
#11
我是用var接收的。。。谢谢
#12
我现在是想,有什么遍历方法可以来遍历var中的运行时属性呢?
#13
反射可以
#14
BOSS,效率降低太多了啊。。。
#15
对啊,所以根本没必要啊,那为什么不直接类型转换呢
#16
直接遍历var中的属性我可以写成static,但是用到反射的话有点得不偿失了。直接类型转换也是上面的问题,其实就是懒人给自己找的个借口。。。
#17
不好意思,没表达清楚,直接类型转换方法就不能独立出来了。
#18
由于你存到了Cache里面,它已经把你的类型强制转为object,如果你不再次类型转换的话,我实在想不到别的方法了
等高人来回答吧
等高人来回答吧
#19
不明白楼主的意思,直接转换就行啊
#20
var obj =Cache[parms];
Response.Write(parms);
Response.Write(obj.GetType());
输出类型时 obj是类对象
Response.Write(parms);
Response.Write(obj.GetType());
输出类型时 obj是类对象
#21
呵呵,你这段代码不能说明任何问题,因为反射得到的是对象的真实类型,不论它被强制转换为什么类型,看看下面代码:
string str = "ojlovecd";
object o = str;
var obj = o;
Response.Write(obj.GetType().Name);
输出的仍然是String,不会是Object
#22
var 又不能自动判断他以前的类型。。。。。
Cache返回的都是object 管你张三李四。。。
object的实例怎么可能调用别的类的方法。。
Cache返回的都是object 管你张三李四。。。
object的实例怎么可能调用别的类的方法。。
#23
string a="abc";
var str = a;
object o = classobj;
1,var class = classobj;
2,var class = o;
var str = a;
object o = classobj;
1,var class = classobj;
2,var class = o;
#24
顶
#1
up
#2
友情帮顶
#3
thanks
#4
你这个是JSON应该做的事情,具体自己去查资料怎么构造JSON字符串以及前端解析JSON字符生成相应的js对象
另外还有个简单方法,不过可能不太灵活
<script>
var myGirl = new Object();
o.Name = '<%=Cache[parms]%>';//最好在后端做个方法,比如GetMyGirlProperty("Name"),做好出错控制。
o.Age= <%=Cache[parms]%>;
使用:
alert(myGirl.Name);
</script>
另外还有个简单方法,不过可能不太灵活
<script>
var myGirl = new Object();
o.Name = '<%=Cache[parms]%>';//最好在后端做个方法,比如GetMyGirlProperty("Name"),做好出错控制。
o.Age= <%=Cache[parms]%>;
使用:
alert(myGirl.Name);
</script>
#5
必须类型转换
#6
写掉了,o.Name = ' <%=Cache[parms].Name%>
#7
转换成你自己的对象就ok了
#8
我在调试的时候发现,Cache[parms]; 中的obj是有name和age属性的,所以我引用var来创建匿名类,
调试时发现属性也赋值过来了,现在唯一的问题是怎么样才能把属性取出来。
我现在不需要json,只需要取出属性。谢谢
调试时发现属性也赋值过来了,现在唯一的问题是怎么样才能把属性取出来。
我现在不需要json,只需要取出属性。谢谢
#9
你要知道Cache存的是什么类型 ,然后转换了才能使用属性 不然就是object类的实例对象
#10
还没编译的时候,编译器无法知道你的obj是什么类型,即使你用匿名类型,编译器也只有在运行的时候才能知道obje是什么类型
所以你要想在编码的时候点出Name和Age属性,必须类型转换
#11
我是用var接收的。。。谢谢
#12
我现在是想,有什么遍历方法可以来遍历var中的运行时属性呢?
#13
反射可以
#14
BOSS,效率降低太多了啊。。。
#15
对啊,所以根本没必要啊,那为什么不直接类型转换呢
#16
直接遍历var中的属性我可以写成static,但是用到反射的话有点得不偿失了。直接类型转换也是上面的问题,其实就是懒人给自己找的个借口。。。
#17
不好意思,没表达清楚,直接类型转换方法就不能独立出来了。
#18
由于你存到了Cache里面,它已经把你的类型强制转为object,如果你不再次类型转换的话,我实在想不到别的方法了
等高人来回答吧
等高人来回答吧
#19
不明白楼主的意思,直接转换就行啊
#20
var obj =Cache[parms];
Response.Write(parms);
Response.Write(obj.GetType());
输出类型时 obj是类对象
Response.Write(parms);
Response.Write(obj.GetType());
输出类型时 obj是类对象
#21
呵呵,你这段代码不能说明任何问题,因为反射得到的是对象的真实类型,不论它被强制转换为什么类型,看看下面代码:
string str = "ojlovecd";
object o = str;
var obj = o;
Response.Write(obj.GetType().Name);
输出的仍然是String,不会是Object
#22
var 又不能自动判断他以前的类型。。。。。
Cache返回的都是object 管你张三李四。。。
object的实例怎么可能调用别的类的方法。。
Cache返回的都是object 管你张三李四。。。
object的实例怎么可能调用别的类的方法。。
#23
string a="abc";
var str = a;
object o = classobj;
1,var class = classobj;
2,var class = o;
var str = a;
object o = classobj;
1,var class = classobj;
2,var class = o;
#24
顶