19. februar 2007 - 15:01Der er
7 kommentarer og 1 løsning
Button addhandler med dynamisk redirect
Jeg koder er ASP.NET 1.1 og VB 1.1
Jeg er ved at lave en menu som usercontrol. Jeg har en placeholder i denne usercontrol hvor jeg dynamisk loader nogle knapper.
MyCommand = New OleDbCommand MySQL = "SELECT UserAccess_Tbl.ProgramID AS UserAccess_Tbl_ProgramID, UserAccess_Tbl.Program AS UserAccess_Tbl_Program, UserAccess_Tbl.GroupID, Program_Tbl.ProgramID AS Program_Tbl_ProgramID, Program_Tbl.Program AS Program_Tbl_Program, Program_Tbl.ProgramBtn FROM Program_Tbl INNER JOIN UserAccess_Tbl ON Program_Tbl.ProgramID = UserAccess_Tbl.ProgramID WHERE UserAccess_Tbl.GroupID=" & UserAcces MyCommand.CommandText = MySQL MyCommand.Connection = MyConnection MyReader = MyCommand.ExecuteReader While MyReader.Read MyButton = New Button MyButton.Text = MyReader("ProgramBtn") MyButton.ID = "btn" & MyReader("UserAccess_Tbl_Program") MyButton.CssClass = "tbbtn_notinusepurple" AddHandler MyButton.Click, AddressOf My_Subprogram PHtitlebar.Controls.Add(MyButton) MyURL = MyReader("UserAccess_Tbl_Program") End While
Jeg fandt ud af det selv. Man skal huske at bruge sender.ID i onclock istedet for Button.ID i mit tilfælde.
Håber andre kan have gavn af det:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MyConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/Db.MDB") & ";") CreateTitlebar() End Sub
Public Sub CreateTitlebar() 'acces check Dim objCookie As HttpCookie = Request.Cookies("cookie")
If Not objCookie Is Nothing Then
strUserID = objCookie("UserID")
End If MyConnection.Open() Dim UserAcces As String
MyCommand = New OleDbCommand MySQL = "SELECT UserGroupID FROM UserDealer_Tbl WHERE CookieID=" & strUserID
MyCommand.CommandText = MySQL MyCommand.Connection = MyConnection MyReader = MyCommand.ExecuteReader While MyReader.Read If Not IsDBNull(MyReader("UserGroupID")) Then UserAcces = MyReader("UserGroupID") End If End While MyReader.Close()
'create menu MyCommand = New OleDbCommand MySQL = "SELECT UserAccess_Tbl.ProgramID AS UserAccess_Tbl_ProgramID, UserAccess_Tbl.Program AS UserAccess_Tbl_Program, UserAccess_Tbl.GroupID, Program_Tbl.ProgramID AS Program_Tbl_ProgramID, Program_Tbl.Program AS Program_Tbl_Program, Program_Tbl.ProgramBtn FROM Program_Tbl INNER JOIN UserAccess_Tbl ON Program_Tbl.ProgramID = UserAccess_Tbl.ProgramID WHERE UserAccess_Tbl.GroupID=" & UserAcces MyCommand.CommandText = MySQL MyCommand.Connection = MyConnection MyReader = MyCommand.ExecuteReader While MyReader.Read MyButton = New Button MyButton.Text = MyReader("ProgramBtn") MyButton.ID = MyReader("UserAccess_Tbl_Program") MyButton.CssClass = "tbbtn_notinusepurple" AddHandler MyButton.Click, AddressOf My_Subprogram PHtitlebar.Controls.Add(MyButton) End While MyConnection.Close()
End Sub
Private Sub My_Subprogram(ByVal sender As Object, ByVal e As System.EventArgs) Response.Redirect("" & sender.ID & ".aspx") End Sub
Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.PreRender CreateTitlebar() End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.