ListView DropDownList编辑ListView

时间:2011-01-18 14:05:33

标签: c# asp.net sql

我创建了一个启用了编辑功能的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") %>'

上面的代码片段需要在某处使用才能绑定数据,但是需要附加哪个参数来传递数据?

我已经尝试了一切,它让我头疼!

由于

4 个答案:

答案 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);

    }
  }
}