2010-12-08 64 views
2

我对使用会话状态仍然陌生,我想根据数据库表转换页面名称和整数 然后函数比较“X”和“Y”来检查用户是否有有权查看此页面使用会话状态不能正常工作

我知道这是不是管理网站的安全性的最佳方式,但很喜欢

我做了什么错“如何使用会话培训”

Partial Class advancedsearch 
Inherits System.Web.UI.Page 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    Try 
     Label1.Text = Session("username").ToString 

     Label3.Text = Session("role").ToString 
     Label4.Text = System.IO.Path.GetFileName(Request.Url.ToString()) 


    Catch ex As Exception 
     Response.Redirect("login.aspx") 
    End Try 

    If Label1.Text = "" Then 
     Response.Redirect("login.aspx") 

    End If 
Dim x As Integer = Int32.Parse(Label3.Text) 

    Dim y As Integer = Int32.Parse(DropDownList1.SelectedItem.ToString) 

    If x < y Then Response.Redirect("login.aspx") 


End Sub 


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Response.Redirect("default.aspx") 
End Sub 
End Class 

回答

1

尝试将比较部分放在预渲染完成e

Protected Sub Page_PreRenderComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRenderComplete 
    Dim x As Integer = Int32.Parse(Label3.Text) 

    Dim y As Integer = Int32.Parse(DropDownList1.SelectedItem.ToString) 

    If x < y Then Response.Redirect("login.aspx") 

End Sub