📄 defaultvb.aspx.vb
字号:
Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports Telerik.QuickStart
Imports Telerik.WebControls
Namespace Telerik.CallbackExamplesVB.Functionality.LoadingUserControls
'/ <summary>
'/ Summary description for _Default.
'/ </summary>
Public Class MainPage
Inherits XhtmlPage
Protected WithEvents lbLogin As Telerik.WebControls.CallbackLinkButton
Protected WithEvents lbSearch As Telerik.WebControls.CallbackLinkButton
Protected WithEvents lbTasks As Telerik.WebControls.CallbackLinkButton
Protected CallbackPanel1 As Telerik.WebControls.CallbackPanel
Protected LoadingPanel1 As Telerik.WebControls.LoadingPanel
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not (LatestLoadedControlName Is Nothing) Then
LoadUserControl(LatestLoadedControlName)
End If
End Sub 'Page_Load
Private Sub lbLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbLogin.Click
LoadUserControl("LoginVB.ascx")
End Sub 'lbLogin_Click
Public Sub LoadUserControl(ByVal controlName As String)
If Not (LatestLoadedControlName Is Nothing) Then
Dim previousControl As Control = CallbackPanel1.FindControl(LatestLoadedControlName.Split("."c)(0))
If Not (previousControl Is Nothing) Then
Me.CallbackPanel1.Controls.Remove(previousControl)
End If
End If
Dim userControlID As String = controlName.Split("."c)(0)
Dim targetControl As Control = CallbackPanel1.FindControl(userControlID)
If targetControl Is Nothing Then
Dim userControl As userControl = CType(Me.LoadControl(controlName), userControl)
userControl.ID = userControlID
Me.CallbackPanel1.Controls.Add(userControl)
LatestLoadedControlName = controlName
End If
End Sub 'LoadUserControl
Private Sub lbSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbSearch.Click
If Not Logged Then
CallbackPanel1.Controls.Clear()
CallbackPanel1.Controls.Add(New LiteralControl("To access this control you have to log in."))
Else
LoadUserControl("SearchVB.ascx")
End If
End Sub 'lbSearch_Click
Private Sub lbTasks_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbTasks.Click
If Not Logged Then
CallbackPanel1.Controls.Clear()
CallbackPanel1.Controls.Add(New LiteralControl("To access this control you have to log in."))
Else
LoadUserControl("TasksVB.ascx")
End If
End Sub 'lbTasks_Click
Public Property Logged() As Boolean
Get
Return IIf(ViewState("Logged") Is Nothing, False, CBool(ViewState("Logged"))) 'TODO: For performance reasons this should be changed to nested IF statements
End Get
Set(ByVal Value As Boolean)
ViewState("Logged") = Value
End Set
End Property
Private Property LatestLoadedControlName() As String
Get
Return CStr(ViewState("LatestLoadedControlName"))
End Get
Set(ByVal Value As String)
ViewState("LatestLoadedControlName") = Value
End Set
End Property
Public Property TasksTable() As DataTable
Get
Return CType(ViewState("TasksTable"), DataTable)
End Get
Set(ByVal Value As DataTable)
ViewState("TasksTable") = Value
End Set
End Property
Public Property Tasks() As DataTable
Get
Dim dataTable As New dataTable
If ViewState("Tasks") Is Nothing Then
dataTable.Columns.Add("TaskName", GetType(String))
dataTable.Columns.Add("Status", GetType(Boolean))
dataTable.Rows.Add(New [Object]() {"Task1", False})
dataTable.Rows.Add(New [Object]() {"Task2", True})
dataTable.Rows.Add(New [Object]() {"Task3", False})
dataTable.Rows.Add(New [Object]() {"Task4", True})
dataTable.Rows.Add(New [Object]() {"Task5", False})
ViewState("Tasks") = dataTable
Else
dataTable = CType(ViewState("Tasks"), dataTable)
End If
Return dataTable
End Get
Set(ByVal Value As DataTable)
ViewState("Tasks") = Value
End Set
End Property
End Class 'DefaultVB
End Namespace 'Telerik.CallbackExamplesVB.Functionality.ClientEvents
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -