ASP.NET Repeater控件改变某行的值

如图,我添加了一个Repeate控件,我想点击表里的“标记为已读按钮”将数据库test表Yws中的状态标记从默认的“1”改成“0”,应该对这个按钮怎样编程?知道要用Updata语句,但不知道条件怎么写才能绑定这一行。

img

你好,
你的意思是,你知道怎么确定你update 的是你点击按钮的这一行数据?
解决方案如下:
在你的表中应该有一列跟序号这样的,可以区分是哪一行值的一个主键。你添加repeater 的itemcommand 事件。在这个事件中,或者你当前选中行的序号。然后你可以根据这个序号,确定你要更新的是哪一行数据。

<asp:Repeater ID="rptCustomers" runat="server" OnItemCommand="rptCustomers_ItemCommand">
                <HeaderTemplate>
                    <table cellspacing="0" rules="all" border="1">
                        <tr>
                            <th scope="col" style="width: 80px">Customer Id
                            </th>
                            <th scope="col" style="width: 120px">Customer num
                            </th>
                            <th scope="col" style="width:100px">button</th>
                        </tr>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                            <asp:Label ID="lblCustomerId" runat="server" Text='<%# Eval("Id") %>' />
                        </td>
                        <td>
                            <asp:Label ID="lblContactName" runat="server" Text='<%# Eval("num") %>' />
                        </td>
                        <td>
                            <asp:Button ID="Button1" runat="server" Text="Button"  CommandName="Update"
            CommandArgument='<%# Eval("Id") %>'/>  ** // 添加CommandName 和CommandArgument。**

                        </td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>

后台代码:

 protected void rptCustomers_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "Update")
            {
                // 得到你选择button的 CommandArgument 
                string Id = (string)e.CommandArgument;   // 如果你的Id是int 类型,那么可以写int
               ..........
            }
        }