ASP PageOnload

Программирование Web-приложений и Web-сервисов.

Модератор: Ramzes

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

ASP PageOnload

Сообщение ASD » 13.09.2007 (Чт) 19:07

Проблема такая.

Есть процедура MakeTable(dir_path as string)
Есть эвент OnClick .

Должно при первом запуске страницы запустится MakeTable("")
При клике MakeTable("некий путь")

Фигня в том что Page_OnLoad выполняется постоянно и например переменные Private, Public в ней не видны...
Использовать ViewState не идет т.к. она срабатывает только на втором клике.
Пробовал через Session тоже не работает... вообще если не сделать MakeTable в OnLoad в эвенте OnClick таблица не строится.
(эта функция заполняет таблицу)

Что посоветуете?
Moderator VBStreets
---------------------------

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

Сообщение ASD » 13.09.2007 (Чт) 19:09

Вот код страницы.
Код: Выделить всё
    Private DirHLinks As New ArrayList()


    Private Sub MakeTable(ByVal dirinfo As String)

        Dim DL As LinkButton
        Dim fen As New Engine
        Dim n As Long

        Dim FSO() As Engine.DirInfo
        FSO = fen.GetDirInfo(dirinfo)
        Dim fCount As Integer = UBound(FSO)
        For n = 0 To fCount - 1
            Dim celImage As New TableCell()
            Dim celFilename As New TableCell()
            Dim celRights As New TableCell()
            Dim celSize As New TableCell()
            Dim celDate As New TableCell()

            If FSO(n).DirectoryIt = True Then
                DL = New LinkButton()

                DL.Text = FSO(n).FileName
                DL.Font.Underline = False
                DL.ForeColor = Drawing.Color.Black
                DirHLinks.Add(DL)
                AddHandler DL.Click, AddressOf Me.DL_Click
                celFilename.Controls.Add(DL)
            Else
                celFilename.Text = FSO(n).FileName
            End If
            celImage.Text = "<img src=images/" & IIf(FSO(n).DirectoryIt, "dir", "file") & ".gif />"
            celImage.Width = 21
            celImage.CssClass = "FT_MainTable_td"
            'celImage.BorderWidth = 1
            'celFilename.Text = FSO(n).FileName

            celFilename.Width = 200
            celFilename.CssClass = "FT_MainTable_td"
            celRights.Text = IIf(FSO(n).A_Read, "R", "-") & IIf(FSO(n).A_Write, "W", "-")
            celRights.Width = 57
            celRights.CssClass = "FT_MainTable_td"
            celSize.Text = FSO(n).Size
            celSize.Width = 171
            celSize.CssClass = "FT_MainTable_td"
            celDate.Wrap = False
            celDate.Text = FSO(n).CreateDate
            celDate.CssClass = "FT_MainTable_td"
            Dim rows As New TableRow()
            'rows.CssClass = "FT_MainTable_td"
            'rows.BorderWidth = 1

            rows.Cells.Add(celImage)
            rows.Cells.Add(celFilename)
            rows.Cells.Add(celRights)
            rows.Cells.Add(celSize)
            rows.Cells.Add(celDate)

            FileTable.Rows.Add(rows)


        Next

    End Sub
    Private Sub DL_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        ViewState("CurrenPath") = DirHLinks.Item(DirHLinks.IndexOf(sender)).text & "\"
        MakeTable(DirHLinks.Item(DirHLinks.IndexOf(sender)).text & "\")
    End Sub
    Protected Sub Page_PreRenderComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRenderComplete
        If ViewState("CurrenPath") = Nothing Then ViewState("CurrenPath") = "\"
    End Sub
End Class
Moderator VBStreets
---------------------------


Вернуться в ASP.NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29

    TopList