【发布时间】:2011-09-23 05:02:52
【问题描述】:
我是网络表单的新手。
1) 我的默认 Web 表单是 Default.aspx。它有几个组合框和一个 Button 控件:所有 ASP.Net Web 控件。
2) 在Page_load()中,我创建了一个C#对象“ScoringInfo()”:
protected void Page_Load(object sender, EventArgs e) { 评分信息 = 新评分信息(); ...3) ScoringInfo 从数据库中读取一些信息到成员变量中,并使用成员变量填充组合框:
scoreInfo.GetOpenCrossByDate(dt, openCrossInfo); cbAvailableBowlers.Items.Clear (); foreach(openCrossInfo 中的 OpenCrossInfoRec 记录) 字符串 s = 字符串格式( "车道 {0:00}: {1}", rec.laneNo,rec.dateTime); cbAvailableBowlers.Items.Add(s); ...4) 这里是成员变量:
... 受保护的评分信息评分信息; 受保护的列表 LeagueInfo = new List(); protected List openCrossInfo = new List();5) 当用户按下按钮时,我想显示第二个 .aspx 页面,该页面处理用户选择的特定组合框项目。这是我的“OnClick”事件处理程序:
protected void bTest_Click1(对象发送者,EventArgs e) { int idx = cbAvailableBowlers.SelectedIndex; 会话["openCrossLaneUniqueId"] = openCrossInfo[idx].laneUniqueId; ...// 失败: // “参数超出范围”异常; // "idx" 为 0; openCrossInfo[] 列表为空...它不起作用...因为执行 bTest_Click1 时成员变量“openCrossInfo[]”和组合框属性 SelectedIndex 似乎不再有效!
如何/在哪里保存同一会话中其他后续页面的 UI 状态?
【问题讨论】:
标签: c# webforms session-state