C# Repeater和DataList批量更新数据的方式

<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="btnUpdate" runat="server" Text="UPDATE" 
            onclick="btnUpdate_Click" />
            <br />
        <asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
                <asp:Label ID="l_id" Text='<%#Eval("ID") %>' runat="server" />
                <asp:TextBox ID="tb_qty" Text='<%#Eval("QTY") %>' runat="server" />
                <br />
            </ItemTemplate>
        </asp:Repeater>
    </div>
    </form>
</body>
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        List<string> SQLS=new List<string>();

        foreach (RepeaterItem dlItem in Repeater1.Items)//遍历每一行数据
        {
            TextBox tb_qty = dlItem.FindControl("tb_qty") as TextBox;
            Label l_id = dlItem.FindControl("l_id") as Label;
            SQLS.Add(
                "Update ProposedOrdering Set QTY=@qty Where ID=@id"
                .Replace("@qty",tb_qty.Text)
                .Replace("@id",l_id.Text)
                );
        }

        SqlDbHelper.ExecuteSqlTran(SQLS);

        DataListDataBind();
    }


以上例子以Repeater为例,如果采用DATALIST,将RepeaterItem改为DataListItem就可以了。

猜你喜欢

转载自blog.csdn.net/jyh_jack/article/details/78859340