ho aggiunto una DetailsView e impostato il filtro seguendo sia un libro che gli esempi su msdn (che sono praticamente uguali).
datasource della gridview:
codice:
<asp:SqlDataSource ID="DecoderSql" runat="server" ConnectionString="<%$ ConnectionStrings:MYTELENEWS %>"
            SelectCommand="SELECT siti.sito#, siti.localita, siti.descrizione, siti.IP, siti.riserva, siti.gruppo#, tipi_deploy.descrizione AS Expr1, siti.versione, siti.versione_itl, siti.ultimo_avvio, siti.app_disk_space, siti.TGU, siti.ip_voyager 
            FROM siti INNER JOIN tipi_deploy ON siti.tipo_deploy# = tipi_deploy.tipo_deploy# ORDER BY siti.sito#"
            DeleteCommand="DELETE FROM siti WHERE [sito#] = @sito#">
            <DeleteParameters>
                <asp:Parameter Name="sito#" />
            </DeleteParameters>
        </asp:SqlDataSource>
sqldatasource detailsview:
codice:
        <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:MYTELENEWS %>"
            SelectCommand="SELECT * FROM [siti]" FilterExpression="sito#='{0}'">
            <FilterParameters>
                <asp:ControlParameter Name="sito#" ControlID="DecoderView" PropertyName="SelectedValue" />
            </FilterParameters>
        </asp:SqlDataSource>
in caricamento di pagina nessun problema, mi fa vedere i dettagli di un record.
ma se clicco su select nella grdiview:
codice:
The expression contains invalid date constant '#='17''.
vale per tutti i record.
dove toppo?