ho due dropdownlist.
le riempio così:
codice:
namespace TNWDB
{
    public class Decoder
    {
        private SqlConnection conn = Connection.getConn();

        public DataSet ddlNetworkSource()
        {
            SqlDataAdapter adapter = new SqlDataAdapter("select_soluzioni", conn);
            try
            {
                DataSet ds = new DataSet();
                adapter.Fill(ds);
                return ds;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

        public DataSet ddlGruppiSource()
        {
            SqlDataAdapter adapter = new SqlDataAdapter("select_gruppi_soluzione", conn);
            try
            {
                DataSet ds = new DataSet();
                adapter.Fill(ds);
                return ds;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
    }
}
sulla pagina uso due objectdatasource:
codice:
            <td>
                <asp:DropDownList ID="ddlNetwork" runat="server" DataSourceID="objNetwork" DataTextField="descrizione"
                    DataValueField="soluzione#" AppendDataBoundItems="True" AutoPostBack="True">
                </asp:DropDownList>
                <asp:ObjectDataSource ID="objNetwork" runat="server" SelectMethod="ddlNetworkSource"
                    TypeName="TNWDB.Decoder"></asp:ObjectDataSource>
            </td>
            <td>
                <asp:DropDownList ID="ddlGruppi" runat="server" AppendDataBoundItems="True" AutoPostBack="True"
                    DataSourceID="objGruppi" DataTextField="descrizione" DataValueField="gruppo#">
                </asp:DropDownList>
                <asp:ObjectDataSource ID="objGruppi" runat="server" SelectMethod="ddlGruppiSource"
                    TypeName="TNWDB.Decoder">
                    <SelectParameters>
                        <asp:ControlParameter ControlID="ddlNetwork" Name="soluzione#" PropertyName="SelectedValue"
                            Type="Int32" />
                    </SelectParameters>
                </asp:ObjectDataSource>
            </td>
se nella prima ddl è selezionato la prima voce (*) la seconda ddl ha tutte le voci.
sennò la devo filtrare.
per le query uso due SP.
questa è quella della seconda ddl:
codice:
USE [TELENEWS]
GO
/****** Object:  StoredProcedure [dbo].[select_gruppi_soluzione]    Script Date: 03/14/2011 12:01:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[select_gruppi_soluzione]
@soluzione# int
As
SELECT	gruppo#,
		descrizione
FROM	gruppi
WHERE	soluzione#=@soluzione#
ORDER BY descrizione
ottengo sempre questo errore:
System.InvalidOperationException: ObjectDataSource 'objGruppi' could not find a non-generic method 'ddlGruppiSource' that has parameters: soluzione#.

dove soluzione# è la FK di collegamento.