詳細ビューの挿入項目テンプレート ビュー内にドロップ ダウン リスト(非常に長く、100 項目以上) があります。このリストをフィルタリングできるように、テキスト ボックスとボタン (検索機能) を追加したいのですが、次のエラーが発生します。
Eval()、XPath()、および Bind() などのデータバインディング メソッドは、データバインドされたコントロールのコンテキストでのみ使用できます。
2 つのエンティティ データソースを作成しました。1 つは where 句を使用し、もう 1 つは使用しません。検索を実行すると、コード ビハインド (ボタン クリック イベント) がデータソースを where 句とパラメーターを持つデータソースに切り替えますが、上記のエラーが発生します。これを行う方法に関するアドバイスはありますか?
Dim aa As DropDownList = DetailsView1.FindControl("DropDownList1")
aa.DataSourceID = ""
aa.DataSource = EmpPersonalInfoLOV1
aa.DataBind()
編集済みaa.DataSource を文字列から EmpPersonalInfoLOV1 (データソースの名前) に変更します
編集#2 ユーザーから要求された詳細情報..
データソース # 1 コード
<asp:EntityDataSource ID="EmpPersonalInfoLOV" runat="server"
ConnectionString="name=sspEntities" DefaultContainerName="sspEntities"
EnableFlattening="False" EntitySetName="Employee_Personal_Info"
EntityTypeFilter=""
Select="it.[Emp_id], it.[Employee_No_FastPay], it.[Surname] + ' '+ it.[Firstname] As FullName"
Where="">
</asp:EntityDataSource>
データソース # 2 コード
<asp:EntityDataSource ID="EmpPersonalInfoLOV1" runat="server"
ConnectionString="name=sspEntities" DefaultContainerName="sspEntities"
EnableFlattening="False" EntitySetName="Employee_Personal_Info"
Select="it.[Emp_id], it.[Employee_No_FastPay], it.[Surname] + ' '+ it.[Firstname] As FullName"
Where="it.Surname like '%' + @Name + '%'">
<WhereParameters>
<asp:ControlParameter ControlID="TxtBx1" DbType="String"
DefaultValue="""" Name="Name" PropertyName="SelectedValue" />
</WhereParameters>
</asp:EntityDataSource>