asp.net 中 repeater如果有个linkbutton 事件。
我点击触发,该如何获得这个linkbutton所在的是第几行~?
又如何获得该行各列的数据?
我之前做的是传给ID到后台,然后循环遍历判断与该ID相等的列,
获取控件取值,感觉应该是没必要,问下各位怎么做的?

解决方案 »

  1.   


     protected void rpt_Board_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "DelBoard")
            {
                //code
            }
            if (e.CommandName == "ModifyBoard")
            {
                RepeaterItem ri = e.Item;
                TextBox tb = ri.FindControl("tb_BoardName") as TextBox;//用此方法獲得內置控件
                string sql = "update tbboard set Boardname='" + tb.Text + "' where BoardID='" + e.CommandArgument + "'";
                // code here
            }
        }
      

  2.   

    在html代码里,<asp:btnPassID="btnPass" runat="server" CommandArgument='<%#eval("id")%>' OnCommand="btnPass_command" />
    后台e.CommandArgument就是当前行。
    string strSql = "update maxnews set flag=1 where id =" + e.CommandArgument;
      

  3.   

    设置你那个按钮的commandName,然后在下面这个事件中写代码 
    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName = "test")
            { 
              //操作
            }
        }
      

  4.   

    可以用FindControl方法找到那个ID
      

  5.   

    麻烦各位前台后台一起写看下。。不要只写一半,很难理解。。
    我知道findcontrol可以找到。。但是要不要遍历找下?
    还是直接写就可以了?