Listview动态添加和删除不起作用的项目

时间:2013-09-23 06:37:57

标签: c# asp.net listview

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

  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>

2 个答案:

答案 0 :(得分:1)

你的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

除非你必须我不会使用listview。我认为表格更好

答案 1 :(得分:0)

改为使用数据绑定:

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>