Sto provando a filtrare i risultati utilizzando un elenco a discesa per il mio listview.Impossibile trovare il controllo 'x' in ControlParameter 'y'
ho modificato la query di selezione per l'origine dati come segue ...
ListView:
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/ASPNetDB.mdb"
SelectCommand="SELECT * FROM [tblNames] WHERE [email protected]">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="Surnames"
PropertyName="SelectedValue" />
</SelectParameters>
</asp:AccessDataSource>
DropDownList:
<asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="AccessDataSource2" DataTextField="Genre"
DataValueField="NameID" AppendDataBoundItems="true">
<asp:ListItem Value="" Selected ="True" >All Surnames</asp:ListItem>
</asp:DropDownList>
<asp:AccessDataSource ID="AccessDataSource2" runat="server"
DataFile="~/App_Data/ASPNetDB.mdb" SelectCommand="SELECT * FROM [tblSurnames]">
</asp:AccessDataSource>
il nome del controllo corretto viene utilizzato (il anche le stesse maiuscole), ma la pagina in caricamento restituisce Impossibile trovare il controllo "DropDownList1" in "Cognomi" di ControlParameter.
Qualche suggerimento su cosa sto facendo male qui?
EDIT: Ecco la traccia dello stack se aiuta
[InvalidOperationException: Could not find control 'DropDownList1' in ControlParameter 'Surname'.]
System.Web.UI.WebControls.ControlParameter.Evaluate(HttpContext context, Control control) +2107838
System.Web.UI.WebControls.Parameter.UpdateValue(HttpContext context, Control control) +50
System.Web.UI.WebControls.ParameterCollection.UpdateValues(HttpContext context, Control control) +113
System.Web.UI.WebControls.SqlDataSource.LoadCompleteEventHandler(Object sender, EventArgs e) +46
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Page.OnLoadComplete(EventArgs e) +9010786
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2350
Sono 'AccessDataSource' e' DropDownList' in diversi contenitori di denominazione? –
Si trovano in due ContentPlaceHolders diversi all'interno della stessa pagina. – Imran
Quindi il 'ControlID' deve essere preceduto dal' ID' di 'ContentPlaceHolder' che contiene il' DropDownList': http://stackoverflow.com/a/5719348/124386 –