用QureyString 传值
案例如:
两个页面1.aspx 2.aspx
传值:id=100;
在第一个窗口中放入一超连接(2.aspx?id=100)
点这个超连接就自动跳到2.aspx
然后在2.aspx的代码里写:
int i=Convert.ToInt32(QueryString["a"]);
i就是传递的那个变量。
因此也就从2.aspx收到了1.aspx传递的值。
当然,在int i=Convert.ToInt32(QueryString["a"]);语句前
最好检查一下是否为空,比如
if(QueryString["a"]==null)。。。。。
如果没有此值,强行取值,将抛出异常。
采用Session不好的地方:
1:Session存储于服务器内部,占用服务器内存空间
2:Session只对浏览器不对页面。
也就是,如果在Session里放一个值,那整个浏览器都能读取这个值。
并不是针对页面的。
3:如果采用页面值绑定,就无法确定释放时间,等到系统自动释放内存已经来不及了。
采用Post方法不好的地方:
Asp.net中,只能向自己的页面Post,其他操作是不建议那么做的。
因为一个页面,只能有一个Form.
否则,可能抛出异常。
当然,自己写内核的除外。。。
如果是在同一个页面里,建议用Java代码。
具体的就不多讲了。可以参考其他材料。
案例如:
两个页面1.aspx 2.aspx
传值:id=100;
在第一个窗口中放入一超连接(2.aspx?id=100)
点这个超连接就自动跳到2.aspx
然后在2.aspx的代码里写:
int i=Convert.ToInt32(QueryString["a"]);
i就是传递的那个变量。
因此也就从2.aspx收到了1.aspx传递的值。
当然,在int i=Convert.ToInt32(QueryString["a"]);语句前
最好检查一下是否为空,比如
if(QueryString["a"]==null)。。。。。
如果没有此值,强行取值,将抛出异常。
采用Session不好的地方:
1:Session存储于服务器内部,占用服务器内存空间
2:Session只对浏览器不对页面。
也就是,如果在Session里放一个值,那整个浏览器都能读取这个值。
并不是针对页面的。
3:如果采用页面值绑定,就无法确定释放时间,等到系统自动释放内存已经来不及了。
采用Post方法不好的地方:
Asp.net中,只能向自己的页面Post,其他操作是不建议那么做的。
因为一个页面,只能有一个Form.
否则,可能抛出异常。
当然,自己写内核的除外。。。
如果是在同一个页面里,建议用Java代码。
具体的就不多讲了。可以参考其他材料。