在index.aspx页面中:
private void ly_denglu_Click(object sender, System.EventArgs e)

{
if(Page.IsValid)
{
 string denglu_name=TextBox2.Text.Trim();
             string denglu_password=TextBox1.Text.Trim();
             string sql="select * from userinfo where name='"+denglu_name+"'";
             string sql1=sql+"and password='"+denglu_password+"'";
             if (!obj.isExits(sql))
 Response.Write("<script>alert('对不起,不存在这个用户');</script>");
                 else
 if(!obj.isExits(sql1))
 Response.Write("<script>alert('对不起您的密码不正确');</script>");
                          else
           Session["yh"]=denglu_name;
           Response.Write("<script>alert('登入成功');</script>");
           
           Server.Transfer("ly_liuyan.aspx"); }

}
中写入Session["yh"]=denglu_name;
在ly_liuyan.aspx中
public class ly_liuyan : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
        string denglu_name =(string)Session["yh"];
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
           Page.DataBind();
}
中用这个获取string denglu_name =(string)Session["yh"];
为什么编译的时候总是说非静态的字段,方法或属性“system.web.ui.page.session”要求对象引用?

解决方案 »

  1.   

    string denglu_name = Session["yh"].ToString();
    试试看
      

  2.   

    string denglu_name =(string)Session["yh"];
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
             Page.DataBind();
    }改为:string denglu_name = "";
    private void Page_Load(object sender, System.EventArgs e)
    {
             denglu_name =(string)Session["yh"];
    // 在此处放置用户代码以初始化页面
              Page.DataBind();
    }
      

  3.   

    ChengKing(Enthusiasm Bigrosoft) 谢谢你,你的可以执行,我想问一下,为什么直接赋值不行,而要先初始化,再放在page_load中才可以呢?
      

  4.   

    string denglu_name =(string)System.Web.HttpContext.Current.Session["yh"];
      

  5.   

    vivianfdlpw() 你的这个不需要放在page_load也可以,能不能帮我解释一下?为什么这样可以?