落白Reachless 2022-04-16 13:53 采纳率: 81.3%
浏览 19

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

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

img

  • 写回答

1条回答 默认 最新

  • Yijing Sun 2022-04-18 10:32
    关注

    你好,
    你的意思是,你知道怎么确定你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
                   ..........
                }
            }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月16日

悬赏问题

  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式
  • ¥15 如果要做一个老年人平板有哪些需求