Click here to Skip to main content
15,881,248 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I have a user control on my web form which is as follows in the following link..
http://s8.postimg.org/dmcydrv3p/sample.png[^]

I select the program year, category type , category and position group and then click search, it should return a collection which contains the programyearID, categorytypeID and positionGroupID for the corresponding selected items in the dropdownlist and pass it on to a webmethod which is already defined to get a specific certificationID.

Interface
VB
Namespace SI.Certification.UserControl

Public Interface IUserSearchResultList
Property DataSource() As User.Learning.Business.HR.UserCollection
ReadOnly Property List() As User.Web.UI.WebControls.PagedRepeater
End Interface 
End Namespace


here is this the code for my usercontrol1.vb

VB
Public Class curriculum_search
    Inherits System.Web.UI.UserControl
    Implements IUserSearchResultList

  Private _dataSource As UserCollection

  Public Property DataSource As UserCollection Implements UserControl.IUserSearchResultList.DataSource
        Get
            Return _dataSource
        End Get
        Set(value As UserCollection)

        End Set
    End Property

    Public ReadOnly Property List As PagedRepeater Implements UserControl.IUserSearchResultList.List
        Get
            Return ctlListControl
        End Get
    End Property

 #Region  "Public Properties"
 Public Property ProgramYearID() As Int32
        Get
            If Me.ShowProgramYearSearch Then
                If Me.lstProgramYear.SelectedValue = 0 Then
                    Return Integer.MinValue
                Else
                    Return Me.lstProgramYear.SelectedValue
                End If
            Else
                If ViewState("ProgramYearID") Is Nothing Then
                    Return Integer.MinValue
                Else
                    Return ViewState("ProgramYearID")
                End If
            End If
        End Get
        Set(ByVal Value As Int32)
            If Me.ShowProgramYearSearch Then
                Me.lstProgramYear.SelectedValue = Value.ToString()
            End If
            ViewState("ProgramYearID") = Value
        End Set
    End Property

 Public ReadOnly Property CategoryTypeID() As Int32
        Get
            If Me.lstCategoryType.SelectedValue = 0 Then
                Return Integer.MinValue
            Else
                Return Me.lstCategoryType.SelectedValue
            End If
        End Get
    End Property

 Public ReadOnly Property CategoryID() As Int32
        Get
            If Me.lstCategory.SelectedValue = 0 Then
                Return Integer.MinValue
            Else
                Return Me.lstCategory.SelectedValue
            End If
        End Get
    End Property

 Public Property PositionGroupID() As Int32
        Get
            If Me.ShowPositionCodeSearch Then
                If Me.lstPositionGroup.Selected = -1 Then
                    Return Integer.MinValue
                Else
                    Return Me.lstPositionGroup.Selected
                End If
            Else
                If ViewState("PositionGroupID") Is Nothing Then
                    Return Integer.MinValue
                Else
                    Return ViewState("PositionGroupID")
                End If
            End If
        End Get
        Set(ByVal Value As Int32)
            If Me.ShowPositionCodeSearch Then
                Me.lstPositionGroup.Selected = Value.ToString()
            End If
            ViewState("PositionGroupID") = Value

        End Set
    End Property

Public Property ShowPositionCodeSearch() As Boolean
        Get
            If ViewState("ShowPositionCodeSearch") Is Nothing Then
                Return True
            Else
                Return ViewState("ShowPositionCodeSearch")
            End If
        End Get
        Set(ByVal Value As Boolean)
            ViewState("ShowPositionCodeSearch") = Value
            If Not Value Then
                spnPositionGroup.Visible = False
            Else
                spnPositionGroup.Visible = True
            End If
        End Set
    End Property

 Public Property ShowProgramYearSearch() As Boolean
        Get
            If ViewState("ShowProgramYearSearch") Is Nothing Then
                Return True
            Else
                Return ViewState("ShowProgramYearSearch")
            End If
        End Get
        Set(ByVal Value As Boolean)
            ViewState("ShowProgramYearSearch") = Value
            If Not Value Then
                spnProgramYear.Visible = False
            End If
        End Set
    End Property
   #End Region

   #Region "Events"
    Public Event Submit(ByVal sender As Object, ByVal e As System.EventArgs)
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, Me.Load

        If Page.IsPostBack = False Then
            If spnCategoryType.Visible = True Then
                BindCertificationCategoryTypeCollection()
            'method to bind the category collection
            End If
            If spnProgramYear.Visible = True AndAlso Me.ShowProgramYearSearch Then
                BindProgramYearCollection(GetProgramYearCollection())
            'method to bind the porgram year collection
            End If
            If spnPositionGroup.Visible = True AndAlso Me.ShowPositionCodeSearch Then
            End If
            lstPositionGroup.DefaultToPrimary = False
        End If
    End Sub

    Public Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles pnlSearch.SearchClick
        RaiseEvent Submit(sender, e)
    End Sub


This is the webmethod I have to use in my usercontrol to pass the parameters

VB
_ Public Function GetCertificationLevelsList(ByVal programYearId As Integer, ByVal PositionGroupId As String, ByVal CategoryId As String) As User.Department.Application.Curriculum.Items Dim items As User.Department.Application.Curriculum.Items = User.Department.Application.Curriculum.CategoryCollection.GetCategoryLevelsList(programYearId, PositionGroupId, CategoryId) items.Sort() Return items End Function


I am stuck here, pls help to proceed further. Thanks
Posted

add [WebMethod] above method name
add using system.web.services name space
 
Share this answer
 
Comments
BuBa1947 2-Dec-14 13:59pm    
How to pass the ID's to the webmethod?
Apart from using the [WebMehtod] attribute mark the method as static.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900