这就是我所做的。
我需要根据他们所做的选择添加一个 Session 状态变量,在 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()">