我在插入项目模板视图中有一个下拉列表(很长,超过 100 个项目),用于详细信息视图。我想添加一个文本框和按钮(搜索功能),以便过滤此列表,但出现以下错误。
Eval()、XPath() 和 Bind() 等数据绑定方法只能在数据绑定控件的上下文中使用。
我创建了两个实体数据源,一个带有 where 子句,另一个没有。当我点击搜索时,后面的代码(按钮单击事件)将数据源切换到带有 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>