我创建了一个启用了编辑功能的ListView,向导使用文本框生成了表格,但我需要使用下拉列表来查看某些选项。
我创建了下拉列表
<asp:DropDownList ID="ActionStatusTextBox" runat="server">
<asp:ListItem Value="Ongoing">Ongoing</asp:ListItem>
<asp:ListItem Value="Open">Open</asp:ListItem>
<asp:ListItem Value="Closed">Closed</asp:ListItem>
</asp:DropDownList>
下拉列表成功生成但不提交并在数据库中输入。
<%# Bind("ActionStatus") %>'
上面的代码片段需要在某处使用才能绑定数据,但是需要附加哪个参数来传递数据?
我已经尝试了一切,它让我头疼!
由于
答案 0 :(得分:0)
你有没有尝试过:
<asp:DropDownList .. SelectedValue='<%# Bind("ActionStatus") %>' />
SelectedValue属性不会出现,但我相信您可以这样设置。
HTH。
答案 1 :(得分:0)
您试图将哪些内容插入数据库?如果手动添加listitems,则不需要绑定任何内容。你可以
string value = ActionStatusTextBox.SelectedValue;
答案 2 :(得分:0)
我有同样的问题。看看这个主题:Why is employee_id not being inserted into database
关键在于添加功能:
Protected Sub AbsentListView_ItemInserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewInsertEventArgs) Handles AbsentListView.ItemInserting
e.Values("employee_id") = DirectCast(AbsentListView.InsertItem.FindControl("ExcusedAbsences_employee_idDropDownList2"), DropDownList).SelectedValue
End Sub
它基本上设置了需要时下拉列表的值,一旦我这样做,值就会进入数据库。
答案 3 :(得分:0)
protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
//Verify there is an item being edited.
if (ContactsListView.EditIndex >= 0)
{
//Get the item object.
ListViewDataItem dataItem = (ListViewDataItem)e.Item;
// Check for an item in edit mode.
if (dataItem.DisplayIndex == ContactsListView.EditIndex)
{
// Preselect the DropDownList control with the Title value
// for the current item.
// Retrieve the underlying data item. In this example
// the underlying data item is a DataRowView object.
DataRowView rowView = (DataRowView)dataItem.DataItem;
// Retrieve the Title value for the current item.
String title = rowView["Title"].ToString();
// Retrieve the DropDownList control from the current row.
DropDownList list = (DropDownList)dataItem.FindControl("TitlesList");
// Find the ListItem object in the DropDownList control with the
// title value and select the item.
ListItem item = list.Items.FindByText(title);
list.SelectedIndex = list.Items.IndexOf(item);
}
}
}