這就是我所做的。
我需要根據他們做出什麼選擇添加一個會話狀態變量,在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()">