Asp.net 在FromView控件中使用DropDownList
我正在尝试让下拉列表控件在FormView中工作。我需要让列表成为某个表的过滤视图,并且仍然绑定到我正在编辑的数据中的字段。我试着用编程的方式设置条目数据,但是数据绑定不起作用 不起作用,它试图将null插入数据库Asp.net 在FromView控件中使用DropDownList,asp.net,entity-framework,drop-down-menu,formview,Asp.net,Entity Framework,Drop Down Menu,Formview,我正在尝试让下拉列表控件在FormView中工作。我需要让列表成为某个表的过滤视图,并且仍然绑定到我正在编辑的数据中的字段。我试着用编程的方式设置条目数据,但是数据绑定不起作用 不起作用,它试图将null插入数据库 <asp:DropDownList ID="lstManagers" runat="server" OnDataBound ="ManagersLoad" SelectedValue='&
<asp:DropDownList ID="lstManagers" runat="server"
OnDataBound ="ManagersLoad"
SelectedValue='<%# Bind("UserName") %>' Width="100%"
DataSourceID="TimeOff" DataTextField="UserName" DataValueField="UserName">
</asp:DropDownList>
Protected Sub ManagersLoad(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lst As DropDownList = FormView1.FindControl("lstManagers")
'get list of managers
Using ef As New TimeOffData.TimeOffEntities
For Each item As ListItem In lst.Items
Dim li As ListItem = item
item.Text = (From x In ef.TimeOffUsers Where x.UserName = li.Value Select x.FirstName & " " & x.LastName).FirstOrDefault
Next
End Using
End Sub
这是我试过的代码。我还尝试在其他几个事件中执行相同的操作,它仍然尝试将null插入数据库
<asp:DropDownList ID="lstManagers" runat="server"
OnDataBound ="ManagersLoad"
SelectedValue='<%# Bind("UserName") %>' Width="100%"
DataSourceID="TimeOff" DataTextField="UserName" DataValueField="UserName">
</asp:DropDownList>
Protected Sub ManagersLoad(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lst As DropDownList = FormView1.FindControl("lstManagers")
'get list of managers
Using ef As New TimeOffData.TimeOffEntities
For Each item As ListItem In lst.Items
Dim li As ListItem = item
item.Text = (From x In ef.TimeOffUsers Where x.UserName = li.Value Select x.FirstName & " " & x.LastName).FirstOrDefault
Next
End Using
End Sub
受保护的子管理器加载(ByVal sender作为对象,ByVal e作为System.EventArgs)
Dim lst As DropDownList=FormView1.FindControl(“lstManagers”)
'获取经理列表
将ef用作新的TimeOffData.TimeOffEntities
对于作为列表项的每个项,在lst.Items中
Dim li As ListItem=项目
item.Text=(从ef.TimeOffUsers中的x开始,其中x.UserName=li.Value选择x.FirstName&&&x.LastName)。FirstOrDefault
下一个
终端使用
端接头
我接受了控件中所有的数据绑定内容,并决定手动执行会更容易。我把密码改成了这个
Protected Sub FormView1_ItemInserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewInsertEventArgs) Handles FormView1.ItemInserting
Dim lst As DropDownList = FormView1.FindControl("lstManagers")
e.Values.Item("ManagerName") = lst.SelectedValue
End Sub
Protected Sub ManagersLoad(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lst As DropDownList = FormView1.FindControl("lstManagers")
'get list of managers
Using ef As New TimeOffData.TimeOffEntities
Dim mng = From x In ef.TimeOffUsers Where x.IsManager = True
For Each item In mng
lst.Items.Add(New ListItem(item.FirstName & " " & item.LastName, item.UserName))
Next
End Using
End Sub