Results 1 to 2 of 2

Thread: Help with dropdown listbox using Web Custom Controls

  1. #1

    Thread Starter
    Fanatic Member
    Join Date
    Oct 2001
    Location
    Indiana
    Posts
    612

    Help with dropdown listbox using Web Custom Controls

    I want to create a web custom control that uses a dropdown list box.

    Once I have it created, I know how to use it. My problem is creating it.

    I created a new Web Control Library project called MclProgramBox. I renamed the control to cmbPrograms.vb

    Is this the right start at least?

    I want data loaded into this combo box based on customer login information. For instance, this is the code that I have been using in all my web pages for this dropdown box.
    VB Code:
    1. Dim strPriveledge As String
    2.         Try
    3.             If (Request.Cookies("Priveledge") Is Nothing) Or Request.Cookies("Priveledge").Value = String.Empty Then
    4.                 Response.Redirect("Login.aspx")
    5.             End If
    6.         Catch
    7.             Response.Redirect("Login.aspx")
    8.         End Try
    9.  
    10.         strPriveledge = Request.Cookies("Priveledge").Value
    11.  
    12. If strPriveledge = "Administrator" Then
    13.                 cmbPrograms.ClearSelection()
    14.                 cmbPrograms.Items.Add("--Select Program--")
    15.                 cmbPrograms.Items.Add("Menu")
    16.                 cmbPrograms.Items.Add("PDI Sales")
    17.                 cmbPrograms.Items.Add("Price Check")
    18.                 'cmbPrograms.Items.Add("RMS Compare")
    19.             End If
    20.             If strPriveledge = "Executive" Then
    21.                 cmbPrograms.ClearSelection()
    22.                 cmbPrograms.Items.Add("--Select Program--")
    23.                 cmbPrograms.Items.Add("Menu")
    24.                 cmbPrograms.Items.Add("PDI Sales")
    25.                 cmbPrograms.Items.Add("Price Check")
    26.                 'cmbPrograms.Items.Add("RMS Compare")
    27.             End If
    28.             If strPriveledge = "District Manager" Then
    29.                 cmbPrograms.ClearSelection()
    30.                 cmbPrograms.Items.Add("--Select Program--")
    31.                 cmbPrograms.Items.Add("Menu")
    32.                 cmbPrograms.Items.Add("PDI Sales")
    33.             End If
    34.             If strPriveledge <> "Administrator" And strPriveledge <> "Executive" _
    35.             And strPriveledge <> "District Manager" Then
    36.                 Response.Redirect("Login.aspx")
    37.             End If

    For the SelectedIndexChanged event, I want this to happen.
    VB Code:
    1. If cmbPrograms.SelectedItem.Text = "Menu" Then
    2.             Response.Redirect("Menu.aspx")
    3.         End If
    4.         If cmbPrograms.SelectedItem.Text = "PDI Sales" Then
    5.             Response.Redirect("PDISales.aspx")
    6.         End If
    7.         If cmbPrograms.SelectedItem.Text = "Price Check" Then
    8.             Response.Redirect("PriceCheck.aspx")
    9.         End If
    10.         If cmbPrograms.SelectedItem.Text = "RMS Compare" Then
    11.             Response.Redirect("RMSCompare.aspx")
    12.         End If

    I have no idea how to do this for a web custom control. Anyone with patience, I would appreciate if you could be as detailed as possible if you want to give me a hand.

    Thanks!
    David Wilhelm

  2. #2
    Hyperactive Member
    Join Date
    Aug 2002
    Location
    Fort Collins, CO
    Posts
    366
    There are quite a few different ways to do this, here's one:
    ProgramsDropDownList.vb:
    VB Code:
    1. Imports System
    2. Imports System.Web
    3. Imports System.Web.UI
    4. Imports System.Web.UI.WebControls
    5.  
    6. Public Class ProgramsDropDownList : Inherits DropDownList
    7.     Private _privilege As String
    8.     Public ReadOnly Property Privilege() As String
    9.         Get
    10.             Return _privilege
    11.         End Get
    12.     End Property
    13.     Public ReadOnly Property Program() As String
    14.         Get
    15.             Dim li As ListItem = Me.SelectedItem
    16.             If Not li Is Nothing Then
    17.                 Return li.Value
    18.             End If
    19.         End Get
    20.     End Property
    21.     Public ReadOnly Property RedirectUrl() As String
    22.         Get
    23.             Select Case Me.Program
    24.                 Case "Menu"
    25.                     Return "Menu.aspx"
    26.                 Case "PDI Sales"
    27.                     Return "PDISales.aspx"
    28.                 Case "Price Check"
    29.                     Return "PriceCheck.aspx"
    30.                 Case "RMS Compare"
    31.                     Return "RMSCompare.aspx"
    32.                 Case Else
    33.                     Return ""
    34.             End Select
    35.         End Get
    36.     End Property
    37.     Public Overloads Sub DataBind(ByVal privilege As Object)
    38.         If Not privilege Is Nothing AndAlso privilege.ToString() <> "" Then
    39.             Me._privilege = privilege.ToString()
    40.             Me.ClearSelection()
    41.             Me.Items.Add(New ListItem("- Select Program -"))
    42.             Me.Items.Add(New ListItem("Menu"))
    43.             Me.Items.Add(New ListItem("PDI Sales"))
    44.             If Me._privilege = "Administrator" Or Me._privilege = "Executive" Then
    45.                 Me.Items.Add(New ListItem("Price Check"))
    46.                 Me.Items.Add(New ListItem("RMS Compare"))
    47.             End If
    48.         End If
    49.     End Sub
    50. End Class

    and the aspx page ProgramsDropDownListTest.aspx:
    VB Code:
    1. <%@ Register TagPrefix="pvb" Assembly="DeathAngel" Namespace="DeathAngel" %>
    2. <script language="vb" runat="server">
    3. Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
    4.     If Not Page.IsPostBack Then
    5.         ddlPrograms.DataBind(Request.QueryString("privilege"))
    6.         If ddlPrograms.Program = "" Then
    7.             Response.Redirect ("http://www.microsoft.com")
    8.         End If
    9.     End If
    10. End Sub
    11. Protected Sub ddlPrograms_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    12.     If ddlPrograms.RedirectUrl <> "" Then
    13.         Response.Redirect(ddlPrograms.RedirectUrl)
    14.     End If
    15. End Sub
    16. </script>
    17. <html>
    18.     <body>
    19.         <form runat="server">
    20.             <pvb:ProgramsDropDownList ID="ddlPrograms" Runat="server" AutoPostBack="true"
    21.                 OnSelectedIndexChanged="ddlPrograms_SelectedIndexChanged"/>
    22.         </form>
    23.     </body>
    24. </html>

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width