Repeater1我插入了一个Button作为更新按钮。问题一:用户点击后执行数据库操作(已写出),然后将Repeater里所有该类别的Button属性为Visible = true或者Enabled = false。问题二:同样是点击按钮,但只让当前Button属性Enabled = false。初学C#,请写详细,谢谢!
前台:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
用户ID:<%#Eval("userid")%>
<br />
<asp:Button id="dingButton" Text="Best" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"gtieid")%>' OnCommand="CommandBtn_Click" runat="server" />
<br />
 </ItemTemplate>
 </asp:Repeater>
后台: public void CommandBtn_Click(object sender, CommandEventArgs e)
    {
        if (IsValid)
        {
            SqlConnection Conn = new SqlConnection(sqllk.strConn);
            Conn.Open();
            SqlCommand Cmd = new SqlCommand("update HHHHH set adop=1 where id="+ e.CommandArgument +"", Conn);
            Cmd.ExecuteNonQuery();//更新当前信息            //.Enabled = false;//锁定按钮,这里怎么写?
            //.Visible = false;//隐藏按钮,用这个也行。
            Response.Write("<script>alert('修改成功!');</script>");
            Conn.Close();
        }
    }

解决方案 »

  1.   


    foreach(RepeaterItem item in Repeater1.Items)
    {
        Button btn = item.FindControl("dingButton") as Button;
        if(btn != null)
        {
            
        }
    }
      

  2.   


    foreach(RepeaterItem item in Repeater1.Items)
    {
        Button btn = item.FindControl("dingButton") as Button;
        if(btn != null)
        {
            if (btn != sender)//如果不是当前点击的按钮,就置灰
                 btn.Enabled = false;
        }
    }
      

  3.   

    protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {            Button btn = (Button)e.Item.FindControl("btn");
                btn.Enabled = false;
            }
    遍历reapter
    foreach(RepeaterItem item in Repeater1.Items) 
    {  
    Button btn = (Button)item.FindControl("btn");
    if(btn !=null) 
      btn.Enabled = false;