использование состояния сеанса не работает должным образом - PullRequest
2 голосов
/ 08 декабря 2010

Я все еще новичок в использовании состояния сеанса, я хочу преобразовать имя страницы в целое число в соответствии с таблицей базы данных. Затем функция сравнивает «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 Ответ

1 голос
/ 08 декабря 2010

попробуйте поместить часть сравнения в предварительный рендер завершен

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...