开发者

Retrieving and updating server control values in a ListView

In the past I've used jQuery Ajax to create a shopping cart. This time around I'm using the list view server control.

If I have a qty text box in each row and I want to update the quantity on a button click is this the most elegant way to achieve this?

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.
                }
            }
        }
    }

I'm guessing that I would need to store the productID in a custom attribute for each textbox and use it when updating the database. (Or write more code to find that value somewhere else i开发者_JS百科n the row.)

More importantly, is there a different server control I might want to use instead? I don't want to use the gridview.


I guess you could shorten it a little bit like this

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜