玄武了盾斩月刀原创:C#窗体间传值问题,请各位指教,谢谢

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 00:32:35
请问C#中的传值是如何实现的啊?比如FORM1->FORM2传一个STRING,有人知道吗?麻烦告之,在此先谢谢了~!

用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代码。
具体的就不多讲了。可以参考其他材料。

用Session传