过去,我使用jQuery Ajax创建购物车。这次我正在使用列表视图服务器控件。

如果我每行都有一个qty文本框,并且想在单击按钮时更新数量,这是实现这一目标的最优雅的方法吗?

protected void Button1_Click(object sender, EventArgs e)
    {
        foreach(ListViewItem item in ListViewCart.Items)
        {
            foreach (Control con in item.Controls)
            {
                if (con.GetType() == typeof(TextBox))
                {
                    //Do Work.
                }
            }
        }
    }


我猜想我需要将productID存储在每个文本框的自定义属性中,并在更新数据库时使用它。 (或编写更多代码以在行中的其他位置找到该值。)

更重要的是,我可能想使用其他服务器控件吗?我不想使用gridview。

最佳答案

我想你可以把它缩短一点

foreach (TextBox txtBox in
    ListViewCart.Items.SelectMany(item => item.Controls.OfType<TextBox>()))
{
    //do work like - txtBox.Text = "foo";
}

关于asp.net - 在ListView中检索和更新服务器控件值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5863603/

10-08 21:22