这就是我所做的。
我需要根据他们做出什么选择添加一个会话状态变量,在Firefox,它会导致一个新的标签,这是很好:
在调度页面,我只是用Server.Transfer的去到新页面(添加会话状态之后),但是,在新页面上,我运行一个onload脚本。这里是我的代码:
在项目命令事件处理程序调度页:
protected void RecentButtonsRepeater_ItemCommand(object source,
RepeaterCommandEventArgs e)
{
string code = ((LinkButton)e.Item.Controls[1]).Text;
string sql = "SELECT RunID FROM ProductionRuns WHERE RunCode = @code";
SqlConnection sqlconn = new SqlConnection(QCDataPath);
sqlconn.Open();
SqlCommand sqlcomm = new SqlCommand(sql, sqlconn);
sqlcomm.Parameters.AddWithValue("@code", code);
SqlDataReader sdr = sqlcomm.ExecuteReader();
sdr.Read();
int id = sdr.GetInt32(0);
sdr.Close();
sqlconn.Close();
Session["RunID"] = id;
Server.Transfer("Sheet.aspx");
}
而在Sheet.aspx标记:
<script type="text/javascript">
function ReOpenScoreHome() {
window.open("Scoresheets.aspx", "reopenwindow");
}
</script>
</head>
<body onload="ReOpenScoreHome()">