Solved

ASP.NET - error - Value of type 'System.Collections.Generic.List(Of String)' cannot be converted

Posted on 2011-03-09
3
1,835 Views
Last Modified: 2012-05-11

the goal of this code is that on postback from the user selecting from a drop down menu...will go and find all phone numbers and
populate a grid...however, I get the following error:
--------------
line 81:

   " and  TO_NUMBER in ('" & String.Join(",", myList) & ")"
in the IDE...it has mylist underlined....

when I put the cursor overmylistThen it displays this error:
Value of type 'System.Collections.Generic.List(Of String)' cannot be converted to '1-dimensional array of String'.




Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim DDL_val As String
        Dim flag As String
        Dim TC_ID As String
        
        TC_ID = Session("SessionTC_ID")
        DDL_val = DropDownList1.Text
        flag = "dataset"
        
        Session("sessionDDL") = DropDownList1.Text
        
        
        
        ' -----------------------------------------------------------------------------
        ' DHAEST SOULTION FROM EE...
        ' http://www.experts-exchange.com/Programming/Languages/.NET/Q_26843829.html
        '
        
        
        
        Dim myList As List(Of String) = New List(Of String)
        
        Try

            
            Dim MyDropDown As DropDownList
           
            Dim myArray As New ArrayList()
            Dim dataReader As SqlDataReader
            Dim x As Integer = 0
            Dim sqlConnection As String
            
            TC_ID = Session("SessionTC_ID")
            MyDropDown = DropDownList1
            
               
            Using sqlConn As New SqlConnection
                sqlConnection = "Data Source=xx.xx.xx.xx;Initial Catalog=dcdff;Trusted_connection=true;"
                sqlConn.ConnectionString = sqlConnection
                Dim SQLstring As String = "SELECT * FROM campaign WHERE TC_ID = '" & TC_ID & "'" & _
   " AND campaign_name = '" & Session("sessionCAMP_NAME") & "'"
          
                sqlConn.Open()
                Using command As New SqlCommand(SQLstring, sqlConn)
                    dataReader = command.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
                    If dataReader.HasRows Then
                        Do While dataReader.Read()
                            myList.Add(dataReader("TO_NUMBER").ToString())
                        Loop
                        
                    End If
                    dataReader.Close()
                    sqlConn.Close()
                End Using
            End Using
            
            myArray.Sort()

            MyDropDown.DataSource = myArray
            MyDropDown.DataBind()
        Catch ex As Exception
           
        End Try
          
        
               
        ' --------------------------------
        ' POPULATE THE TEXTBOX CONTROL..ON SELECTION FROM DROPDOWNLIST
        ' --------------------------------
        Try
            Dim Go_Message As TextBox
            Dim sqlConnection As String
          

            Using sqlConn As New SqlConnection
                sqlConnection = "Data Source=xx.xx.xx.xx;Initial Catalog=dffgxt;Trusted_connection=true;"
                sqlConn.ConnectionString = sqlConnection
                ' Dim SQLstring As String = "SELECT * FROM message_queue_recieve WHERE TC_ID = '" & TC_ID & "' and campaign_name = '" & DDL_val & "'" & _
                '" TO_NUMBER = '" & Session("sessonTO_NUMBER") & "'"
                Dim SQLstring As String = "SELECT * FROM message_queue_recieve WHERE TC_ID = '" & TC_ID & "'" & _
                " and  TO_NUMBER in ('" & String.Join(",", myList) & ")"
               
                Dim TblAdaptar As New SqlDataAdapter(SQLstring, sqlConn)
                Dim Tbl As New DataSet
                Tbl.Clear()
                Try
                    TblAdaptar.Fill(Tbl)
                    Me.GridView1.DataSource = Nothing
                    Me.GridView1.DataSource = Tbl
                    Me.GridView1.DataBind()
                Catch ex As Exception
                End Try
            End Using
        Catch ex As Exception
        End Try
        
        
        ' more code...

Open in new window

0
Comment
Question by:GlobaLevel
  • 2
3 Comments
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 35084387
You need to convert your list to an array.

i.e.
string.Join(",", myList.ToArray())

Open in new window

0
 
LVL 10

Expert Comment

by:John Claes
ID: 35084450
that is indeed the reason :


Line 21:
        Dim myList As List(Of String) = New List(Of String)

Line 81 :
               " and  TO_NUMBER in ('" & String.Join(",", myList) & ")"


A generic List is indeed not accepted by the String.Join method

Use for Line 81 the folowig
               " and  TO_NUMBER in ('" & String.Join(",", myList.AsEnumerable()) & ")"

regards

poor beggar
0
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 500 total points
ID: 35084480
It can't use IEnumerable<> either! So as I said in my first post you need to call ToArray() on your List<>.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question