1

我的申请有问题。我在按钮单击事件上创建两个会话变量,然后重定向到另一个页面并执行从数据库中选择数据的方法(使用两个会话变量作为参数),然后在网格中显示结果。

一切正常,直到我有两个(或更多)用户,他们访问应用程序、设置自己的会话值、执行数据检索方法,当然他们希望看到自己的数据。

最终发生的是,两个用户都看到了相同的数据,而不是他们自己的特定数据。本质上,用户 A 可以很好地看到他的数据,但用户 B 最终看到的是用户 A 的数据——而不是他自己的数据。

注意:这仅在他们尝试以 20 秒间隔访问其特定数据时发生

这是我的代码示例:

//The user control that sets the session variables and redirects               
Session.Clear();
Session.["ID"] = TxtPatientIDCode.Text.ToString());
Session["DOB"] = Convert.ToDateTime(TxtDateOfBirth.SelectedDate.Value.ToShortDateString());
Response.Redirect("mypage");

// the user control that gets the session variable values and executes //the data method                   
if (Session["ID"].ToString() != null)
{
    SelectData();
}

修正

这是 SelectData() 方法上发生的情况:

private void SelectData()
{
    DataSet ds = Data.GetData(Session["ID"].ToString(),Session["DOB"].ToString());
    gv.DataSource = ds;
    gv.DataBind();
}

此外,我确实将其记录到数据库表中,并且它插入得很好,因为它显示了访问数据的人员和时间,以及正在使用的会话值。

再次感谢技术人员的帮助

4

0 回答 0