0

我有一个详细信息视图,并且我将一个特定字段转换为我正在使用下拉列表的模板。现在我创建了另一个下拉列表来过滤详细信息视图中的下拉列表,但是我收到错误消息。

Eval()、XPath() 和 Bind() 等数据绑定方法只能在数据绑定控件的上下文中使用。

                        <InsertItemTemplate>
                                    <asp:DropDownList ID="DropDownList12" runat="server" DataSourceID="ddd" 
                                         DataTextField="FullName" DataValueField="Emp_id"
                                         SelectedValue='<%# Bind("Employee_Personal_InfoEmp_id") %>' 
                                        AutoPostBack="True">
                                    </asp:DropDownList>
                        </InsertItemTemplate>

更改数据源从而启用过滤的方法

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    Dim ddl5 As DropDownList = DetailsView1.FindControl("DropDownList12")
    ddl5.DataSourceID = ""
    ddl5.DataSource = FilterDataSource
    ddl5.DataBind()
End Sub

如果我起飞

  **SelectedValue='<%# Bind("Employee_Personal_InfoEmp_id") %>'** 

过滤器会起作用。有什么解决方法吗?我需要绑定。谢谢

4

1 回答 1

0

为了让它以您想要的方式工作,您将需要在 itemDataBound 事件中找到控件,然后创建一个事件处理程序以分配给 itemdataBound 事件中下拉框 ctl 的地址。

于 2013-03-08T15:58:33.023 回答