私のリストビューのドロップダウンリストを使用して結果をフィルタリングしようとしています。ControlParameter 'y'でコントロール 'x'が見つかりませんでした
<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>
ドロップダウンリスト:私は次のように...
をデータソースの選択クエリを変更したリストビュー
<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>
正しいコントロール名が使用されています(正確に同じキャップを使用しています)、ロード時のページはを返します。ControlParameter 'Surnames'にコントロール 'DropDownList1'が見つかりませんでした。
ここで間違っていることについてのご意見はありますか?
EDIT:それはDropDownListコントロールが含まれているContentPlaceHolder
のIDを前置する
[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
'AccessDataSource'と' DropDownList'は異なる命名コンテナにありますか? –
同じページ内の2つの異なるContentPlaceHoldersにあります。 – Imran
それから、 'ControlID'は' DropDownList'を含む 'ContentPlaceHolder'の' ID'の接頭語にする必要があります:http://stackoverflow.com/a/5719348/124386 –