
#Region "Imports statements"	  
Option Strict On
Imports System
Imports System.Web.UI.WebControls
Imports System.ComponentModel
Imports BaseClasses
Imports BaseClasses.Data
Imports BaseClasses.Utils
Imports BaseClasses.Web.UI.WebControls
        
Imports Persons.Business
Imports Persons.Data
        
#End Region	  
  
Namespace Persons.UI

  ' Code-behind class for the Menu1 user control.
Partial Public Class Menu1
        Inherits BaseApplicationMenuControl
        Implements IMenu1
#Region "Section 1: Place your customizations here."
     
      Public Sub LoadData()
          ' LoadData reads database data and assigns it to UI controls.
          ' Customize by adding code before or after the call to LoadData_Base()
          ' or replace the call to LoadData_Base().
          LoadData_Base()
                  
      End Sub
      
      Private Function EvaluateFormula(ByVal formula As String, ByVal dataSourceForEvaluate as BaseClasses.Data.BaseRecord, ByVal format As String, ByVal variables As System.Collections.Generic.IDictionary(Of String, Object), ByVal includeDS as Boolean) As String
          Return EvaluateFormula_Base(formula, dataSourceForEvaluate, format, variables, includeDS)
      End Function

      Public Sub Page_InitializeEventHandlers(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Init
            ' Handles MyBase.Init. 
            ' Register the Event handler for any Events.
           Me.Page_InitializeEventHandlers_Base(sender,e)
      End Sub
      
        Protected Overrides Sub SaveControlsToSession()
            SaveControlsToSession_Base()
        End Sub


        Protected Overrides Sub ClearControlsFromSession()
            ClearControlsFromSession_Base()
        End Sub

        Protected Overrides Sub LoadViewState(ByVal savedState As Object)
            LoadViewState_Base(savedState)
        End Sub


        Protected Overrides Function SaveViewState() As Object
            Return SaveViewState_Base()
        End Function
      
      Public Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
          Me.Page_PreRender_Base(sender,e)
      End Sub


      

      Public Overrides Sub SetChartControl(ByVal chartCtrlName As String)
          Me.SetChartControl_Base(chartCtrlName)
      End Sub    
      
      
#Region "Ajax Functions"

        <Services.WebMethod()> _
        Public Shared Function GetRecordFieldValue(ByVal tableName As String, _
                                                  ByVal recordID As String, _
                                                  ByVal columnName As String, _
                                                  ByVal fieldName As String, _
                                                  ByVal title As String, _
                                                  ByVal persist As Boolean, _
                                                  ByVal popupWindowHeight As Integer, _
                                                  ByVal popupWindowWidth As Integer, _
                                                  ByVal popupWindowScrollBar As Boolean _
                                                  ) As Object()
            ' GetRecordFieldValue gets the pop up window content from the column specified by
            ' columnName in the record specified by the recordID in data base table specified by tableName.
            ' Customize by adding code before or after the call to  GetRecordFieldValue_Base()
            ' or replace the call to  GetRecordFieldValue_Base().
            Return GetRecordFieldValue_Base(tableName, recordID, columnName, fieldName, title, persist, popupWindowHeight, popupWindowWidth, popupWindowScrollBar)
        End Function

        <Services.WebMethod()> _
        Public Shared Function GetImage(ByVal tableName As String, _
                                        ByVal recordID As String, _
                                        ByVal columnName As String, _
                                        ByVal title As String, _
                                        ByVal persist As Boolean, _
                                        ByVal popupWindowHeight As Integer, _
                                        ByVal popupWindowWidth As Integer, _
                                        ByVal popupWindowScrollBar As Boolean _
                                        ) As Object()
            ' GetImage gets the Image url for the image in the column "columnName" and
            ' in the record specified by recordID in data base table specified by tableName.
            ' Customize by adding code before or after the call to  GetImage_Base()
            ' or replace the call to  GetImage_Base().
            Return GetImage_Base(tableName, recordID, columnName, title, persist, popupWindowHeight, popupWindowWidth, popupWindowScrollBar)
        End Function
    
      Protected Overloads Overrides Sub BasePage_PreRender(ByVal sender As Object, ByVal e As EventArgs)
          MyBase.BasePage_PreRender(sender, e)
          Base_RegisterPostback()
      End Sub
      
    
      


#End Region

    ' Page Event Handlers - buttons, sort, links
    
        Public Sub การปฏ_บ_ต_งานMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for การปฏ_บ_ต_งานMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          การปฏ_บ_ต_งานMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub การปฏ_บ_ต_งานMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for การปฏ_บ_ต_งานMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          การปฏ_บ_ต_งานMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub การศ_กษาMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for การศ_กษาMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          การศ_กษาMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub การศ_กษาMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for การศ_กษาMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          การศ_กษาMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ความสามาถด_านก_ฬาMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ความสามาถด_านก_ฬาMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ความสามาถด_านก_ฬาMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ความสามาถด_านก_ฬาMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ความสามาถด_านก_ฬาMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ความสามาถด_านก_ฬาMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ความสามารถด_านภาษาMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ความสามารถด_านภาษาMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ความสามารถด_านภาษาMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ความสามารถด_านภาษาMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ความสามารถด_านภาษาMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ความสามารถด_านภาษาMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ความสามารถพ_เศษMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ความสามารถพ_เศษMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ความสามารถพ_เศษMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ความสามารถพ_เศษMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ความสามารถพ_เศษMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ความสามารถพ_เศษMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub เคร__องราชอ_สร_ยาภรณ_MenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for เคร__องราชอ_สร_ยาภรณ_MenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          เคร__องราชอ_สร_ยาภรณ_MenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub เคร__องราชอ_สร_ยาภรณ_MenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for เคร__องราชอ_สร_ยาภรณ_MenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          เคร__องราชอ_สร_ยาภรณ_MenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub เง_นเด_อนMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for เง_นเด_อนMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          เง_นเด_อนMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub เง_นเด_อนMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for เง_นเด_อนMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          เง_นเด_อนMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub เง_นเพ__มพ_เศษMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for เง_นเพ__มพ_เศษMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          เง_นเพ__มพ_เศษMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub เง_นเพ__มพ_เศษMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for เง_นเพ__มพ_เศษMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          เง_นเพ__มพ_เศษMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ตำแหน_งMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ตำแหน_งMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ตำแหน_งMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ตำแหน_งMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ตำแหน_งMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ตำแหน_งMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub บ_คคลท__เก__ยวข_องMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for บ_คคลท__เก__ยวข_องMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          บ_คคลท__เก__ยวข_องMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub บ_คคลท__เก__ยวข_องMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for บ_คคลท__เก__ยวข_องMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          บ_คคลท__เก__ยวข_องMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ประว_ต_ท__วไปMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ประว_ต_ท__วไปMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ประว_ต_ท__วไปMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ประว_ต_ท__วไปMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ประว_ต_ท__วไปMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ประว_ต_ท__วไปMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub เปล__ยนช__อMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for เปล__ยนช__อMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          เปล__ยนช__อMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub เปล__ยนช__อMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for เปล__ยนช__อMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          เปล__ยนช__อMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ยศMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ยศMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ยศMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ยศMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ยศMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ยศMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ว_นทว_ค_ณMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ว_นทว_ค_ณMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ว_นทว_ค_ณMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub ว_นทว_ค_ณMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for ว_นทว_ค_ณMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          ว_นทว_ค_ณMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub หน_าหล_กMenuItem_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for หน_าหล_กMenuItem.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          หน_าหล_กMenuItem_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            
        Public Sub หน_าหล_กMenuItemHilited_Click(ByVal sender As Object, ByVal args As EventArgs)
          ' Click handler for หน_าหล_กMenuItemHilited.
          ' Customize by adding code before the call or replace the call to the Base function with your own code.
          หน_าหล_กMenuItemHilited_Click_Base(sender, args)
          ' NOTE: If the Base function redirects to another page, any code here will not be executed.
        End Sub
            

        ' Write out the Set methods
        
        
        ' Write out the methods for DataSource
        

#End Region

#Region "Section 2: Do not modify this section."

        Protected Sub Page_InitializeEventHandlers_Base(ByVal sender As Object, ByVal e As System.EventArgs)            		
                  
    
            ' the following code for accordion is necessary or the Me.{ControlName} will return Nothing
        
            ' Register the Event handler for any Events.
      

          ' Setup the pagination events.
        
            AddHandler Me.การปฏ_บ_ต_งานMenuItem.Button.Click, AddressOf การปฏ_บ_ต_งานMenuItem_Click
        
            AddHandler Me.การปฏ_บ_ต_งานMenuItemHilited.Button.Click, AddressOf การปฏ_บ_ต_งานMenuItemHilited_Click
        
            AddHandler Me.การศ_กษาMenuItem.Button.Click, AddressOf การศ_กษาMenuItem_Click
        
            AddHandler Me.การศ_กษาMenuItemHilited.Button.Click, AddressOf การศ_กษาMenuItemHilited_Click
        
            AddHandler Me.ความสามาถด_านก_ฬาMenuItem.Button.Click, AddressOf ความสามาถด_านก_ฬาMenuItem_Click
        
            AddHandler Me.ความสามาถด_านก_ฬาMenuItemHilited.Button.Click, AddressOf ความสามาถด_านก_ฬาMenuItemHilited_Click
        
            AddHandler Me.ความสามารถด_านภาษาMenuItem.Button.Click, AddressOf ความสามารถด_านภาษาMenuItem_Click
        
            AddHandler Me.ความสามารถด_านภาษาMenuItemHilited.Button.Click, AddressOf ความสามารถด_านภาษาMenuItemHilited_Click
        
            AddHandler Me.ความสามารถพ_เศษMenuItem.Button.Click, AddressOf ความสามารถพ_เศษMenuItem_Click
        
            AddHandler Me.ความสามารถพ_เศษMenuItemHilited.Button.Click, AddressOf ความสามารถพ_เศษMenuItemHilited_Click
        
            AddHandler Me.เคร__องราชอ_สร_ยาภรณ_MenuItem.Button.Click, AddressOf เคร__องราชอ_สร_ยาภรณ_MenuItem_Click
        
            AddHandler Me.เคร__องราชอ_สร_ยาภรณ_MenuItemHilited.Button.Click, AddressOf เคร__องราชอ_สร_ยาภรณ_MenuItemHilited_Click
        
            AddHandler Me.เง_นเด_อนMenuItem.Button.Click, AddressOf เง_นเด_อนMenuItem_Click
        
            AddHandler Me.เง_นเด_อนMenuItemHilited.Button.Click, AddressOf เง_นเด_อนMenuItemHilited_Click
        
            AddHandler Me.เง_นเพ__มพ_เศษMenuItem.Button.Click, AddressOf เง_นเพ__มพ_เศษMenuItem_Click
        
            AddHandler Me.เง_นเพ__มพ_เศษMenuItemHilited.Button.Click, AddressOf เง_นเพ__มพ_เศษMenuItemHilited_Click
        
            AddHandler Me.ตำแหน_งMenuItem.Button.Click, AddressOf ตำแหน_งMenuItem_Click
        
            AddHandler Me.ตำแหน_งMenuItemHilited.Button.Click, AddressOf ตำแหน_งMenuItemHilited_Click
        
            AddHandler Me.บ_คคลท__เก__ยวข_องMenuItem.Button.Click, AddressOf บ_คคลท__เก__ยวข_องMenuItem_Click
        
            AddHandler Me.บ_คคลท__เก__ยวข_องMenuItemHilited.Button.Click, AddressOf บ_คคลท__เก__ยวข_องMenuItemHilited_Click
        
            AddHandler Me.ประว_ต_ท__วไปMenuItem.Button.Click, AddressOf ประว_ต_ท__วไปMenuItem_Click
        
            AddHandler Me.ประว_ต_ท__วไปMenuItemHilited.Button.Click, AddressOf ประว_ต_ท__วไปMenuItemHilited_Click
        
            AddHandler Me.เปล__ยนช__อMenuItem.Button.Click, AddressOf เปล__ยนช__อMenuItem_Click
        
            AddHandler Me.เปล__ยนช__อMenuItemHilited.Button.Click, AddressOf เปล__ยนช__อMenuItemHilited_Click
        
            AddHandler Me.ยศMenuItem.Button.Click, AddressOf ยศMenuItem_Click
        
            AddHandler Me.ยศMenuItemHilited.Button.Click, AddressOf ยศMenuItemHilited_Click
        
            AddHandler Me.ว_นทว_ค_ณMenuItem.Button.Click, AddressOf ว_นทว_ค_ณMenuItem_Click
        
            AddHandler Me.ว_นทว_ค_ณMenuItemHilited.Button.Click, AddressOf ว_นทว_ค_ณMenuItemHilited_Click
        
            AddHandler Me.หน_าหล_กMenuItem.Button.Click, AddressOf หน_าหล_กMenuItem_Click
        
            AddHandler Me.หน_าหล_กMenuItemHilited.Button.Click, AddressOf หน_าหล_กMenuItemHilited_Click
        
          Me.ClearControlsFromSession()
        End Sub

        Private Sub Base_RegisterPostback()
        
        End Sub

    

       ' Handles MyBase.Load.  Read database data and put into the UI controls.
       ' If you need to, you can add additional Load handlers in Section 1.
       Protected Overridable Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
    
            If (Not Me.IsPostBack) Then
            
            End If
            

            ' Load data only when displaying the page for the first time or if postback from child window
            If (Not Me.IsPostBack OrElse Me.Request("__EVENTTARGET") = "ChildWindowPostBack") Then
                ' Read the data for all controls on the page.
                ' To change the behavior, override the DataBind method for the individual
                ' record or table UI controls.
                Me.LoadData()
            End If
        
        
        End Sub

    Public Shared Function GetRecordFieldValue_Base(ByVal tableName As String, _
                                                ByVal recordID As String, _
                                                ByVal columnName As String, _
                                                ByVal fieldName As String, _
                                                ByVal title As String, _
                                                ByVal persist As Boolean, _
                                                ByVal popupWindowHeight As Integer, _
                                                ByVal popupWindowWidth As Integer, _
                                                ByVal popupWindowScrollBar As Boolean _
                                                ) As Object()
        If Not IsNothing(recordID) Then
            recordID = System.Web.HttpUtility.UrlDecode(recordID)
        End If
        Dim content as String = BaseClasses.Utils.MiscUtils.GetFieldData(tableName, recordID, columnName)
    
        content = NetUtils.EncodeStringForHtmlDisplay(content)

        'returnValue is an array of string values.
        'returnValue(0) represents title of the pop up window
        'returnValue(1) represents content of the pop up window
        ' retrunValue(2) represents whether pop up window should be made persistant
        ' or it should closes as soon as mouse moved out.
        ' returnValue(5) represents whether pop up window should contain scroll bar.
        ' returnValue(3), (4) represents pop up window height and width respectivly
        ' (0),(2),(3),(4) and (5)  is initially set as pass through attribute.
        ' They can be modified by going to Attribute tab of the properties window of the control in aspx page.
        Dim returnValue(6) As Object
        returnValue(0) = title
        returnValue(1) = content
        returnValue(2) = persist
        returnValue(3) = popupWindowWidth
        returnValue(4) = popupWindowHeight
        returnValue(5) = popupWindowScrollBar
        Return returnValue
    End Function


    Public Shared Function GetImage_Base(ByVal tableName As String, _
                                    ByVal recordID As String, _
                                    ByVal columnName As String, _
                                    ByVal title As String, _
                                    ByVal persist As Boolean, _
                                    ByVal popupWindowHeight As Integer, _
                                    ByVal popupWindowWidth As Integer, _
                                    ByVal popupWindowScrollBar As Boolean _
                                    ) As Object()
        Dim content As String = "<IMG alt =""" & title & """ src =" & """../Shared/ExportFieldValue.aspx?Table=" & tableName & "&Field=" & columnName & "&Record=" & recordID & """/>"
        'returnValue is an array of string values.
        'returnValue(0) represents title of the pop up window.
        'returnValue(1) represents content ie, image url.
        ' retrunValue(2) represents whether pop up window should be made persistant
        ' or it should closes as soon as mouse moved out.
        ' returnValue(3), (4) represents pop up window height and width respectivly
        ' returnValue(5) represents whether pop up window should contain scroll bar.
        ' (0),(2),(3),(4) and (5) is initially set as pass through attribute.
        ' They can be modified by going to Attribute tab of the properties window of the control in aspx page.
        Dim returnValue(6) As Object
        returnValue(0) = title
        returnValue(1) = content
        returnValue(2) = persist
        returnValue(3) = popupWindowWidth
        returnValue(4) = popupWindowHeight
        returnValue(5) = popupWindowScrollBar
        Return returnValue
    End Function
        
      Public Sub SetChartControl_Base(ByVal chartCtrlName As String)
          ' Load data for each record and table UI control.
        
      End Sub          


    
    
        Protected Sub SaveControlsToSession_Base()
            MyBase.SaveControlsToSession()
        
        End Sub


        Protected Sub ClearControlsFromSession_Base()
            MyBase.ClearControlsFromSession()
        
        End Sub

        Protected Sub LoadViewState_Base(ByVal savedState As Object)
            MyBase.LoadViewState(savedState)
        
        End Sub


        Protected Function SaveViewState_Base() As Object
            
            Return MyBase.SaveViewState()
        End Function


      Public Sub Page_PreRender_Base(ByVal sender As Object, ByVal e As System.EventArgs)
     
            ' Load data for each record and table UI control.
                  
            ' Data bind for each chart UI control.
              
      End Sub  

    
        ' Load data from database into UI controls.
        ' Modify LoadData in Section 1 above to customize.  Or override DataBind() in
        ' the individual table and record controls to customize.
        Public Sub LoadData_Base()
            Try
              
                If (Not Me.IsPostBack OrElse Me.Request("__EVENTTARGET") = "ChildWindowPostBack")  Then
                    ' Must start a transaction before performing database operations
                    DbUtils.StartTransaction()
                End If

              
     
                Me.DataBind()

                ' Load and bind data for each record and table UI control.
                
    
                ' Load data for chart.
                
            
                ' initialize aspx controls
                
                

            Catch ex As Exception
                ' An error has occured so display an error message.
                Utils.RegisterJScriptAlert(Me, "Page_Load_Error_Message", ex.Message)
            Finally
                If (Not Me.IsPostBack OrElse Me.Request("__EVENTTARGET") = "ChildWindowPostBack")  Then
                    ' End database transaction
                      DbUtils.EndTransaction()
                End If
            End Try
        End Sub
        
        Public EvaluateFormulaDelegate As BaseClasses.Data.DataSource.EvaluateFormulaDelegate = New BaseClasses.Data.DataSource.EvaluateFormulaDelegate(AddressOf Me.EvaluateFormula)
        
        Public Overridable Function EvaluateFormula_Base(ByVal formula As String, ByVal dataSourceForEvaluate As BaseClasses.Data.BaseRecord, ByVal format As String, ByVal variables As System.Collections.Generic.IDictionary(Of String, Object), ByVal includeDS As Boolean) As String
            Dim e As FormulaEvaluator = New FormulaEvaluator()

            ' add variables for formula evaluation
            If variables IsNot Nothing Then
                Dim enumerator As System.Collections.Generic.IEnumerator(Of System.Collections.Generic.KeyValuePair(Of String, Object)) = variables.GetEnumerator()
                While enumerator.MoveNext()
                    e.Variables.Add(enumerator.Current.Key, enumerator.Current.Value)
                End While
            End If

            If includeDS
                
            End If

            
            e.CallingControl = Me

            e.DataSource = dataSourceForEvaluate


            Dim resultObj As Object = e.Evaluate(formula)
            If resultObj Is Nothing Then
                Return ""
            End If

            If Not String.IsNullOrEmpty(format) AndAlso (String.IsNullOrEmpty(formula) OrElse formula.IndexOf("Format(") < 0) Then
                Return FormulaUtils.Format(resultObj, format)
            Else
                Return resultObj.ToString()
            End If
        End Function      
        
        Public Function EvaluateFormula(ByVal formula As String, ByVal dataSourceForEvaluate As BaseClasses.Data.BaseRecord, ByVal format As String, ByVal variables As System.Collections.Generic.IDictionary(Of String, Object)) As String
          Return EvaluateFormula(formula, dataSourceForEvaluate, format, variables, True)
        End Function


        Private Function EvaluateFormula(ByVal formula As String, ByVal dataSourceForEvaluate As BaseClasses.Data.BaseRecord) As String
          Return EvaluateFormula(formula, dataSourceForEvaluate, Nothing, Nothing, True)
        End Function

        Public Function EvaluateFormula(ByVal formula As String, ByVal includeDS As Boolean) As String
          Return EvaluateFormula(formula, Nothing, Nothing, Nothing, includeDS)
        End Function

        Public Function EvaluateFormula(ByVal formula As String) As String
          Return EvaluateFormula(formula, Nothing, Nothing, Nothing, True)
        End Function
 
        

        ' Write out the Set methods
        

        ' Write out the DataSource properties and methods
                

        ' Write out event methods for the page events
        
        ' event handler for Button with Layout
        Public Sub การปฏ_บ_ต_งานMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalExtWork/EditPersonalExtWorkTable2.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub การปฏ_บ_ต_งานMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalExtWork/EditPersonalExtWorkTable2.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub การศ_กษาMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalEducation/EditPersonalEducationTable2.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub การศ_กษาMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalEducation/EditPersonalEducationTable2.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ความสามาถด_านก_ฬาMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalSportSkill/EditPersonalSportSkillTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ความสามาถด_านก_ฬาMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalSportSkill/EditPersonalSportSkillTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ความสามารถด_านภาษาMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalLanguageSkill/EditPersonalLanguageSkillTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ความสามารถด_านภาษาMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalLanguageSkill/EditPersonalLanguageSkillTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ความสามารถพ_เศษMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalSpecialSkill/EditPersonalSpecialSkillTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ความสามารถพ_เศษMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalSpecialSkill/EditPersonalSpecialSkillTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub เคร__องราชอ_สร_ยาภรณ_MenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalInsignia/EditPersonalInsigniaTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub เคร__องราชอ_สร_ยาภรณ_MenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalInsignia/EditPersonalInsigniaTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub เง_นเด_อนMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalSalary/EditPersonalSalaryTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub เง_นเด_อนMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalSalary/EditPersonalSalaryTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub เง_นเพ__มพ_เศษMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalExtraSalary/EditPersonalExtraSalaryTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub เง_นเพ__มพ_เศษMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalExtraSalary/EditPersonalExtraSalaryTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ตำแหน_งMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalTitle/EditPersonalTitleTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ตำแหน_งMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalTitle/EditPersonalTitleTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub บ_คคลท__เก__ยวข_องMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonRelative/EditPersonRelativeTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub บ_คคลท__เก__ยวข_องMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonRelative/EditPersonRelativeTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ประว_ต_ท__วไปMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalId/EditPersonalId1.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ประว_ต_ท__วไปMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalId/EditPersonalId1.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub เปล__ยนช__อMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalName/EditPersonalNameTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub เปล__ยนช__อMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalName/EditPersonalNameTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ยศMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalRank/EditPersonalRankTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ยศMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalRank/EditPersonalRankTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ว_นทว_ค_ณMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalDD/EditPersonalDDTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub ว_นทว_ค_ณMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalDD/EditPersonalDDTable.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub หน_าหล_กMenuItem_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalId/ShowViewPersons.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        ' event handler for Button with Layout
        Public Sub หน_าหล_กMenuItemHilited_Click_Base(ByVal sender As Object, ByVal args As EventArgs)
              
            ' The redirect URL is set on the Properties, Custom Properties or Actions.
            ' The ModifyRedirectURL call resolves the parameters before the
            ' Response.Redirect redirects the page to the URL.  
            ' Any code after the Response.Redirect call will not be executed, since the page is
            ' redirected to the URL.
            
              
                  Dim url As String = "../PersonalId/ShowViewPersons.aspx"
                
        Dim shouldRedirect As Boolean = True
        Dim TargetKey As String = Nothing
        Dim DFKA As String = TargetKey
        Dim id As String = DFKA
        Dim value As String = id
      
    Try
    ' Enclose all database retrieval/update code within a Transaction boundary
                DbUtils.StartTransaction
                
            url = Ctype(Me.Page, BaseApplicationPage).ModifyRedirectUrl(url, "",False)
              
            Catch ex As Exception
                ' Upon error, rollback the transaction
                Ctype(Me.Page, BaseApplicationPage).RollBackTransaction(sender)
                shouldRedirect = False
                Ctype(Me.Page, BaseApplicationPage).ErrorOnPage = True
    
                ' Report the error message to the end user
                Utils.MiscUtils.RegisterJScriptAlert(Me, "BUTTON_CLICK_MESSAGE", ex.Message)
    
            Finally
                DbUtils.EndTransaction
            End Try
            If shouldRedirect Then
                Ctype(Me.Page, BaseApplicationPage).Response.Redirect(url)
            End If
        End Sub
            
        #Region "Interface Properties"
        
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property การปฏ_บ_ต_งานMenuItem() As IMenu_Item Implements IMenu1.การปฏ_บ_ต_งานMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_การปฏ_บ_ต_งานMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property การปฏ_บ_ต_งานMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.การปฏ_บ_ต_งานMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_การปฏ_บ_ต_งานMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property การศ_กษาMenuItem() As IMenu_Item Implements IMenu1.การศ_กษาMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_การศ_กษาMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property การศ_กษาMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.การศ_กษาMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_การศ_กษาMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ความสามาถด_านก_ฬาMenuItem() As IMenu_Item Implements IMenu1.ความสามาถด_านก_ฬาMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ความสามาถด_านก_ฬาMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ความสามาถด_านก_ฬาMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.ความสามาถด_านก_ฬาMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ความสามาถด_านก_ฬาMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ความสามารถด_านภาษาMenuItem() As IMenu_Item Implements IMenu1.ความสามารถด_านภาษาMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ความสามารถด_านภาษาMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ความสามารถด_านภาษาMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.ความสามารถด_านภาษาMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ความสามารถด_านภาษาMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ความสามารถพ_เศษMenuItem() As IMenu_Item Implements IMenu1.ความสามารถพ_เศษMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ความสามารถพ_เศษMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ความสามารถพ_เศษMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.ความสามารถพ_เศษMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ความสามารถพ_เศษMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property เคร__องราชอ_สร_ยาภรณ_MenuItem() As IMenu_Item Implements IMenu1.เคร__องราชอ_สร_ยาภรณ_MenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_เคร__องราชอ_สร_ยาภรณ_MenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property เคร__องราชอ_สร_ยาภรณ_MenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.เคร__องราชอ_สร_ยาภรณ_MenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_เคร__องราชอ_สร_ยาภรณ_MenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property เง_นเด_อนMenuItem() As IMenu_Item Implements IMenu1.เง_นเด_อนMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_เง_นเด_อนMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property เง_นเด_อนMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.เง_นเด_อนMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_เง_นเด_อนMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property เง_นเพ__มพ_เศษMenuItem() As IMenu_Item Implements IMenu1.เง_นเพ__มพ_เศษMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_เง_นเพ__มพ_เศษMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property เง_นเพ__มพ_เศษMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.เง_นเพ__มพ_เศษMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_เง_นเพ__มพ_เศษMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ตำแหน_งMenuItem() As IMenu_Item Implements IMenu1.ตำแหน_งMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ตำแหน_งMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ตำแหน_งMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.ตำแหน_งMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ตำแหน_งMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property บ_คคลท__เก__ยวข_องMenuItem() As IMenu_Item Implements IMenu1.บ_คคลท__เก__ยวข_องMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_บ_คคลท__เก__ยวข_องMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property บ_คคลท__เก__ยวข_องMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.บ_คคลท__เก__ยวข_องMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_บ_คคลท__เก__ยวข_องMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ประว_ต_ท__วไปMenuItem() As IMenu_Item Implements IMenu1.ประว_ต_ท__วไปMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ประว_ต_ท__วไปMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ประว_ต_ท__วไปMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.ประว_ต_ท__วไปMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ประว_ต_ท__วไปMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property เปล__ยนช__อMenuItem() As IMenu_Item Implements IMenu1.เปล__ยนช__อMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_เปล__ยนช__อMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property เปล__ยนช__อMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.เปล__ยนช__อMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_เปล__ยนช__อMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ยศMenuItem() As IMenu_Item Implements IMenu1.ยศMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ยศMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ยศMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.ยศMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ยศMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ว_นทว_ค_ณMenuItem() As IMenu_Item Implements IMenu1.ว_นทว_ค_ณMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ว_นทว_ค_ณMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property ว_นทว_ค_ณMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.ว_นทว_ค_ณMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_ว_นทว_ค_ณMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property หน_าหล_กMenuItem() As IMenu_Item Implements IMenu1.หน_าหล_กMenuItem
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_หน_าหล_กMenuItem"), IMenu_Item)
            End Get
        End Property
                
        <Bindable(True), _
        Category("Behavior"), _
        DefaultValue(""), _
        NotifyParentProperty(True), _
        DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
        Public ReadOnly Property หน_าหล_กMenuItemHilited() As IMenu_Item_Highlighted Implements IMenu1.หน_าหล_กMenuItemHilited
            Get
                Return CType(BaseClasses.Utils.MiscUtils.FindControlRecursively(Me, "_หน_าหล_กMenuItemHilited"), IMenu_Item_Highlighted)
            End Get
        End Property
                
      Public Overrides Property Visible() As Boolean Implements IMenu1.Visible
  
          Get
              Return MyBase.Visible
          End Get
          Set(ByVal value As Boolean)
              MyBase.Visible = value
          End Set
      End Property
            
        #End Region
  
        Public Shadows ReadOnly Property Page() As BaseApplicationPage
            Get
                Return DirectCast(MyBase.Page, BaseApplicationPage)
            End Get
        End Property

            
    
#End Region

  

End Class
  
End Namespace

  