Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New Coder
    Join Date
    Mar 2006
    Posts
    80
    Thanks
    0
    Thanked 0 Times in 0 Posts

    SqlDataSource control error

    Hello:

    I am having a little issue with an error that is frustrating me. I have a SqlDataSource within an asp:label control and also have a two dropdownlists inside that asp:label control also. When I select from the first dropdownlist, it should enable the second dropdownlist with the populated data, but instead I receive.

    The SqlDataSource control 'sqlGetMLSByCity' does not have a naming container. Ensure that the control is added to the page before calling DataBind.

    Any ideas why this would be? Here is the web from portion:
    Code:
    <asp:Label ID="recip_form_request" runat="server" Visible="false">
        <ul>
            <li>Step one: Select listing type.</li>
            <li>Step two: Select the City that you are reciprocating to.</li>
            <li>Step three: Complete the Recip Form.</li>
        </ul>
        <asp:DropDownList ID="recip_form_type" runat="server" AutoPostBack="true" Visible="False">
            <asp:ListItem Value="0" Text="(Select Form)"></asp:ListItem>
            <asp:ListItem Value="1" Text="Residential"></asp:ListItem>
        </asp:DropDownList>
        <br />
        <asp:DropDownList ID="outside_assoc_cities" runat="server" AutoPostBack="True" Enabled="False" DataTextField="city" DataValueField="id" Visible="False"></asp:DropDownList><br />
        <asp:Label ID="city_mls_desc" runat="server"></asp:Label><br />
        <asp:Button ID="page1_btn" runat="server" Text="Next >>" Visible="False" />
        <asp:SqlDataSource ID="sqlCities" runat="server" ProviderName="System.Data.SqlClient" ConnectionString="<%$ AppSettings:connectionstring %>" SelectCommandType="Text" SelectCommand="SELECT id, city FROM  tCityMaster"></asp:SqlDataSource>
        <asp:SqlDataSource ID="sqlGetMLSByCity" runat="server" ProviderName="System.Data.SqlClient" ConnectionString="<%$ AppSettings:connectionstring %>">
            <SelectParameters>
                <asp:ControlParameter ControlID="outside_assoc_cities" Name="City" />
            </SelectParameters>
        </asp:SqlDataSource>
    </asp:Label>
    
    then the code behind:
    
    Protected Sub outside_assoc_cities_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles outside_assoc_cities.SelectedIndexChanged
            If outside_assoc_cities.SelectedIndex > -1 Then
                Dim ItemId As Integer = Integer.Parse(outside_assoc_cities.SelectedValue)
                Dim MLSID As String = Nothing
    
                Dim cmd As New SqlCommand
                Dim con As New SqlConnection
                cmd.Connection = con
    
                Dim sqlGetMLSByCity_sql As SqlDataSource = CType(Page.FindControl("sqlGetMLSByCity"), SqlDataSource)
                'using connectionstring from SqlDataSource Control
                con.ConnectionString = sqlGetMLSByCity_sql.ConnectionString
                'con.ConnectionString = sqlGetMLSByCity.ConnectionString
    
                cmd.CommandType = CommandType.Text
                cmd.CommandText = "SELECT mls_id FROM pwaordev..tCityMaster WITH(NOLOCK) WHERE ID=@ID"
    
                cmd.Parameters.Add("@ID", SqlDbType.Int, 4).Value = ItemId
    
                Try
                    con.Open()
                    MLSID = cmd.ExecuteScalar
                    con.Dispose()
                    cmd.Dispose()
                Catch ex As Exception
                    con.Dispose()
                    cmd.Dispose()
                    Response.Write(ex.ToString())
                End Try
    
                'Further logic to display button depending on MLS
                If Not String.IsNullOrEmpty(MLSID) Then
                    If MLSID = "B" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is Greater South Bay MLS."
                        page1_btn.Visible = True
                    ElseIf MLSID = "A" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is Big Bear BOR, MLS, which is not covered by Pacific West Association of REALTOR&reg, please contact us for more information."
                        page1_btn.Visible = False
                    ElseIf MLSID = "C" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is Combined L.A./Westside MLS."
                        page1_btn.Visible = True
                    ElseIf MLSID = "F" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is Crisnet MLS, which is not covered by Pacific West Association of REALTOR&reg, please contact us for more information."
                        page1_btn.Visible = False
                    ElseIf MLSID = "Y" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is DCAoR - Yucca Valley Area, which is not covered by Pacific West Association of REALTOR&reg, please contact us for more information."
                        page1_btn.Visible = False
                    ElseIf MLSID = "D" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is Desert Area MLS."
                        page1_btn.Visible = True
                    ElseIf MLSID = "L" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is i-Tech Glendale/Pasadena."
                        page1_btn.Visible = True
                    ElseIf MLSID = "M" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is MRM - Multi-Regional MLS."
                        page1_btn.Visible = True
                    ElseIf MLSID = "R" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is RIM - Rim of the World MLS, which is not covered by Pacific West Association of REALTOR&reg, please contact us for more information."
                        page1_btn.Visible = False
                    ElseIf MLSID = "G" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is SDI - San Diego, which is not covered by Pacific West Association of REALTOR&reg, please contact us for more information."
                        page1_btn.Visible = False
                    ElseIf MLSID = "S" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is SOCAL MLS - Southern California MLS."
                        page1_btn.Visible = True
                    ElseIf MLSID = "T" Then
                        city_mls_desc.Text = "The MLS system that covers " & outside_assoc_cities.SelectedItem.Text & " is Outside Area, which is not covered by Pacific West Association of REALTOR&reg, please contact us for more information."
                        page1_btn.Visible = False
                    End If
                    'test.Text = MLSID
                    'If test.Text = "L" Then
                    'mls_text.Text = "i-Tech"
                    'End If
                End If
            End If
        End Sub
    Any help would be great, thank you!
    Last edited by Brandoe85; 01-19-2007 at 10:27 PM. Reason: added code tags

  • #2
    New Coder
    Join Date
    Mar 2006
    Posts
    80
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ok, I figured it out, sloppy coding, I don't need this as is:



    <asp:SqlDataSource ID="sqlGetMLSByCity" runat="server" ProviderName="System.Data.SqlClient" ConnectionString="<%$ AppSettings:connectionstring %>">

    <SelectParameters>

    <asp:ControlParameter ControlID="outside_assoc_cities" Name="City" />

    </SelectParameters>

    </asp:SqlDataSource>



    so I eliminated the parameters.



    Now, i seem to be having a problem? When I select the first item from



    aspropDownList ID="recip_form_type" runat="server" AutoPostBack="true" Visible="False">

    <asp:ListItem Value="0" Text="(Select Form)"></asp:ListItem>

    <asp:ListItem Value="1" Text="Residential"></asp:ListItem>

    </aspropDownList>



    The page postsback, but it seems to hide the label? So, i cannot see anything?



    <asp:Label ID="recip_form_request" runat="server" Visible="false">

    <ul>

    <li>Step one: Select listing type.</li>

    <li>Step two: Select the City that you are reciprocating to.</li>

    <li>Step three: Complete the Recip Form.</li>

    </ul>

    <aspropDownList ID="recip_form_type" runat="server" AutoPostBack="true" Visible="False">

    <asp:ListItem Value="0" Text="(Select Form)"></asp:ListItem>

    <asp:ListItem Value="1" Text="Residential"></asp:ListItem>

    </aspropDownList>

    <br />

    <aspropDownList ID="outside_assoc_cities" runat="server" AutoPostBack="True" Enabled="False" DataTextField="city" DataValueField="id" Visible="False"></aspropDownList><br />

    <asp:Label ID="city_mls_desc" runat="server"></asp:Label><br />

    <asp:Button ID="page1_btn" runat="server" Text="Next >>" Visible="False" />

    <asp:SqlDataSource ID="sqlCities" runat="server" ProviderName="System.Data.SqlClient" ConnectionString="<%$ AppSettings:connectionstring %>" SelectCommandType="Text" SelectCommand="SELECT id, city FROM tCityMaster"></asp:SqlDataSource>

    <asp:SqlDataSource ID="sqlGetMLSByCity" runat="server" ProviderName="System.Data.SqlClient" ConnectionString="<%$ AppSettings:connectionstring %>"></asp:SqlDataSource>

    </asp:Label>



    Any ideas? Do, I have to use findcontrol in the vb instead to refer to the controls?

  • #3
    New Coder
    Join Date
    Mar 2006
    Posts
    80
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Fixed, I removed visible=false off the controls and cleaned up the vb code.


  •  

    Posting Permissions

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