allora, ho modificato la SP cosi:
codice:
@soluzione_ int,
@gruppo_ int

As
	SELECT siti.sito#, siti.localita, siti.descrizione, siti.IP, gruppi.descrizione AS Expr2, tipi_deploy.descrizione AS Expr1, siti.versione,siti.ultimo_avvio, siti.riserva, siti.app_disk_space, 
			siti.versione_itl, tipi_connessione.descrizione AS tipo_connessione_, siti.TGU, tipologia_monitor.descrizione AS tipologia_monitor_, siti.ip_voyager
			FROM siti 
			INNER JOIN tipi_deploy ON siti.tipo_deploy# = tipi_deploy.tipo_deploy# 
			INNER JOIN gruppi ON siti.gruppo#=gruppi.gruppo# 
			INNER JOIN tipi_connessione ON siti.tipo_connessione#=tipi_connessione.tipo_connessione# 
			INNER JOIN tipologia_monitor ON siti.tipologia_monitor#=tipologia_monitor.tipologia_monitor#
			WHERE (soluzione# = @soluzione_ OR @soluzione_ is null) AND (gruppi.gruppo# = @gruppo_ Or @gruppo_ is null)
poi nella pagina:
codice:
            <td>
                <asp:DropDownList ID="ddlNetwork" runat="server" DataSourceID="objNetwork" DataTextField="descrizione"
                    DataValueField="soluzione#" AppendDataBoundItems="True" AutoPostBack="True">
                    <asp:ListItem Selected="True" Value="">*</asp:ListItem>
                </asp:DropDownList>
                <asp:ObjectDataSource ID="objNetwork" runat="server" SelectMethod="ddlNetwork" TypeName="TNWDB.Decoder">
                </asp:ObjectDataSource>
            </td>
            <td>
                <asp:DropDownList ID="ddlGruppi" runat="server" AppendDataBoundItems="True" AutoPostBack="True"
                    DataSourceID="objGruppi" DataTextField="descrizione" DataValueField="gruppo#"
                    EnableViewState="False">
                    <asp:ListItem Selected="True" Value="">*</asp:ListItem>
                </asp:DropDownList>
                <asp:ObjectDataSource ID="objGruppi" runat="server" SelectMethod="ddlGruppi" TypeName="TNWDB.Decoder">
                    <SelectParameters>
                        <asp:ControlParameter ControlID="ddlNetwork" Name="par" PropertyName="SelectedValue"
                            Type="Int32" />
                    </SelectParameters>
                </asp:ObjectDataSource>
            </td>
.......
GridView
......
        <asp:ObjectDataSource ID="objDecoder" runat="server" SelectMethod="gvSource" TypeName="TNWDB.Decoder">
            <SelectParameters>
                <asp:ControlParameter ControlID="ddlNetwork" Name="network" PropertyName="SelectedValue"
                    Type="Int32" />
                <asp:ControlParameter ControlID="ddlGruppi" Name="gruppo" PropertyName="SelectedValue"
                    Type="Int32" />
            </SelectParameters>
        </asp:ObjectDataSource>
ora devo modificare il metodo richiamato nell'objectdatasource:
codice:
        public static DataSet gvSource(int network, int gruppo)
        {
            DataSet ds = null;
            SqlDataAdapter adapter = null;
            SqlCommand cmd = null;
            try
            {
                conn.Open();
                cmd = new SqlCommand("TNW_select_siti", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@soluzione_", network);
                cmd.Parameters.AddWithValue("@gruppo_", gruppo);
                adapter = new SqlDataAdapter(cmd);
                ds = new DataSet();
                adapter.Fill(ds);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                ds.Dispose();
                adapter.Dispose();
                conn.Close();
            }
            return ds;
        }
come posso fare??