0
我有一個頁面,它在它加載時通過dynanically創建一個鏈接,點擊鏈接後它應該在數據庫中循環獲取所有記錄並顯示另一組鏈接,然後當我點擊這些鏈接也應該給我這個特定的記錄像這樣一個事件處理程序沒有在WebForms中觸發
Q的所有信息:加載頁面時,它創建與事件處理程序相關聯的第一個鏈接,它觸發第一個事件處理程序(的getName )但它沒有觸發第二個事件處理程序(GetnameDetails)
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
If ViewState.Item("nameload") IsNot Nothing Then
If ViewState.Item("nameload").ToString = "True" Then
Getname(Me, New EventArgs)
ElseIf ViewState.Item("Getnameload").ToString = "True" Then
GetnameDetails(Me, New EventArgs)
Else
CreateNamesButton()
End If
Else
CreateNamesButton()
End If
頁面加載和名稱的鏈接創建
Private Sub CreateNamesButton()
Dim btnName As New LinkButton
btnName .Text = "Name"
Panel1.Controls.Add(btnName)
AddHandler btnName .Click, AddressOf Getname
ViewState.Item("nameload") = False.ToString
End Sub
它火nameload事件處理
Private Sub Getname(ByVal sender As Object, ByVal e As EventArgs)
' get products list here
' and set handlers for each link
Dim testDb As New customer
Dim arr As ArrayList = testDb.DbLoop()
Dim ObjCustList As CustomerBo
Dim CustInt As Integer
Dim str As String
Dim link As LinkButton
For Each ObjCustList In arr
CustInt = ObjCustList.Cus_Id
link = New LinkButton
Panel1.Controls.Add(New LiteralControl("<br />"))
link.ID = CustInt
link.Text = ObjCustList.FirstName
link.CommandArgument = CustInt
str = link.CommandArgument
AddHandler link.Click, AddressOf GetnameDetails
Me.Panel1.Controls.Add(link)
Next ObjCustList
ViewState.Item("nameload") = True.ToString
End Sub
它不火
Private Sub GetnameDetails(ByVal sender As Object, ByVal e As EventArgs)
Dim getRecord As New CustomerBo
Dim lbLink As LinkButton = CType(sender, LinkButton)
Dim CustomerID As String = lbLink.CommandArgument
Dim getLink As String = lbLink.Text
Dim SendCustID As Integer
SendCustID = CInt(CustomerID)
getRecord.Cus_Id = SendCustID
Dim getAllcatInfo As New customer
getRecord = getAllcatInfo.R_List(getRecord)
Panel1.Controls.Add(New LiteralControl("<table><tr>"))
Panel1.Controls.Add(New LiteralControl("<td colspan=2 align=center valign=middle >"))
Panel1.Controls.Add(New LiteralControl(getRecord.FirstName))
Panel1.Controls.Add(New LiteralControl("</td>"))
Panel1.Controls.Add(New LiteralControl("<td>"))
Panel1.Controls.Add(New LiteralControl(getRecord.LastName))
Panel1.Controls.Add(New LiteralControl("</td>"))
Panel1.Controls.Add(New LiteralControl("<td>"))
Panel1.Controls.Add(New LiteralControl(getRecord.Telephone))
Panel1.Controls.Add(New LiteralControl("</td></tr></table>"))
ViewState.Item("Getnameload") = True.ToString
'get product details here
End Sub
什麼我做錯了謝謝
您的代碼不會編譯。 – user774411 2011-06-09 17:05:35