列表视图动态添加和删除不起作用的项目

本文关键字:不起作用 项目 删除 视图 动态 添加 列表 | 更新日期: 2023-09-27 18:32:33

伙计们,我快疯了。请问我有一个列表视图,我想动态地在单击按钮时将文本框中的项目添加到列表中。我也想在单击按钮时删除。我的问题是我目前无法将单个项目添加到列表视图中,因为我出现 gtetting 错误。我希望我的列表视图有两列,因此在数组中插入两个数据字符串,如下所示

  string[] array = { DropDownListType.SelectedItem.Text, txtDescription.Text };
            List<string> list = new List<string>();
            list.Add(array[0]);
            foreach(string[] value in list)
            {
                ListViewItem lvi = new ListViewItem(value);
                       ListViewDesc.Items.Add(lvi);
            }

以前,我从没有列表的数组中添加了我的字符串,但都失败了。我真的很困惑。此外,属性 "Listview.Column.Add" 给出未知的属性错误。请提供任何我可以实现此目的的替代方法,我将不胜感激。

 <asp:ListView ID="ListViewDesc" runat="server">
               </asp:ListView>

列表视图动态添加和删除不起作用的项目

你的foreach正在尝试使用数组,但"list"是一个字符串列表

 string[] array = { DropDownListType.SelectedItem.Text, txtDescription.Text };
        List<string> list = new List<string>();
        list.Add(array[0]);
        foreach(var value in list)
        {
            ListViewItem lvi = new ListViewItem(value);
                   ListViewDesc.Items.Add(lvi);
        }

还要看看 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.grouptemplate.aspx

除非你必须这样做,否则我不会使用列表视图。我认为表格更好

改用数据绑定:

public partial class WebForm1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var list = new List<ItemsInList>
                   {
                       new ItemsInList { Text = "Testtext1" },
                       new ItemsInList { Text = "Testtext2" },
                   };
        ListViewDesc.DataSource = list;
        ListViewDesc.DataBind();
    }
}
public class ItemsInList
{
    public string Text { get; set; }
}

        <asp:ListView ID="ListViewDesc" runat="server">
            <ItemTemplate>
                <p>
                    <%# Eval("Text") %>
                </p>
            </ItemTemplate>
        </asp:ListView>