最近在项目中用到了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");
?这样就可以进行实现两个窗体的传值。
|