最近在项目中用到了C#中的web窗体,但是在web窗体中需要两个页面之间进行参数的传递,开始打算像写C#一样定义一个静态变量进行参数的传递,但是发现web中调不到,还不能实例化。然后就找到了这样的方法……
我们需要两个页面的参数传递,如下:
上图中:图1中的时间参数,可以传到图2中的文本框中。
什么是session?
服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每 个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用 户的唯一身份。
具体解释和用法:C#中Session的用法详细介绍 - 时光巷尾 - 博客园
目录
解决方法
把
protected void butSubmit_Click(object sender, EventArgs e) { //把所有时间进行进遍历,把选中的时间放在一个集合中 List<string> s = new List<string>(); foreach (var item in form1 .Controls) { if (item is CheckBox) { if (((CheckBox)item).Checked == true) { CheckBox box = item as CheckBox; s.Add(box.Text); } } } s.First();//选取的第一个时间 //按照字符串的长度进行切割 int i = 6;//选取前6位 string j = s.First().Substring(0, i);//截取后的字符串 //同理,截取后六位的长度 s.Last();//选取的最后一个时间 string k = s.Last().Remove(0, i);//截取后的字符串 string str = j +k;//连接所选中的字符串 Session["st"] = str; Response.Redirect("MeetingApproval.aspx"); }
把图1所选择的时间截取下来。
截取后把值传到图2的窗体,进行接受,也是利用session
//显示会议时间 this.MeetingTime.Text = Session["st"].ToString(); Session.Remove("st");
这样就可以进行实现两个窗体的传值。