-1

我想通过页面传递一个值,所以我尝试使用 Application 变量。但问题是变量对于每个用户来说并不是唯一的,因此价值会受到损害。

会话变量用于创建会话,它工作得很好。我不想创建会话...我想通过每个会话传递另一个值,并且该值会因用户而异。

在这里,我为每个登录的教师创建会话。根据每个教师,他的学校名称被识别并将其转移到教师欢迎页面。

if (pass == txtFacPass.Text && schoolName == listFacSch.SelectedItem.ToString())
            {
                Session["fac"] = txtFacUser.Text;
                Application["sname"] = listFacSch.SelectedItem.ToString();
                Response.Redirect("faculty.aspx", false);
            }      

请尽快帮助我解决问题。先感谢您。

4

2 回答 2

2

如果我理解正确,您希望将两个值传递给faculty.aspx用户名和学校名称。

您已经通过会话传递了用户名:

Session["fac"] = txtFacUser.Text;

要传递另一个值,只需使用不同的键存储它:

Session["sname"] = listFacSch.SelectedItem.ToString();

不会导致创建另一个会话。在为用户创建的一个会话中,这两个值都将在另一个页面中可用。

于 2012-07-12T22:03:15.273 回答
0

应用程序变量适用于每个应用程序,而不是每个用户。所以你每次都只是重置一个值。

如果我了解您要做什么,为什么不只使用 URI 参数,

Response.Redirect("faculty.aspx?sname=" + listFacSch.SelectedItem.ToString() , false);

然后处理教师页面上的查询字符串参数(假设您为不同的学校显示不同的内容)

于 2012-07-12T21:58:33.747 回答