2

我有一个网格视图和一个数据列表(机器人分别包含一些列和链接按钮)我如何通过单击网格视图中的链接按钮找到数据列表链接按钮控件(网格视图数据由数据生成列表链接按钮和两者都提到了相同的数据密钥)我拥有的相关代码是这个

protected void Gird1_Click(object sender, GridViewDeleteEventArgs e)
{
    Label id = (Label)Grid1.Rows[e.RowIndex].FindControl("lbl_PID");

    DataTable dt = (DataTable)ViewState["DataTable"];
    if (dt.Rows.Count > 0)
    {
        for (int i = 0; i < dt.Rows.Count; i++)
        {
           if (dt.Rows[i]["P_ID"].ToString() == id.Text)
            {
                dt.Rows[i].Delete();
            }
        }
    }
   // LinkButton lnkbtn = (LinkButton)DataList1.Items[e.RowIndex].FindControl("lnk_Add"); 

    LinkButton lnkbtn = (LinkButton)DataList1.  [Convert.ToInt32(id.Text)];//FindControl("lnk_Add"); 
    lnkbtn.Enabled = true;
    ViewState["DataTable"] = dt;
    Grid1.DataSource = ViewState["DataTable"];
    Grid1.DataBind();
}
4

2 回答 2

0

为这 2 个链接按钮和网格视图中链接按钮的 onclick 赋予相同的名称

{
   linkbutton lnkGridview=(linkbutton)sender;
   foreach(datalistitem item in datalist1.items)
  {
     linkbutton lnkDatalist=(linkbutton)item.findcontrol(lnkGridview.ClientID);
  }

}
于 2013-03-29T10:25:14.650 回答
0

最后....

    int increment = 0;
    int count = DataList1.Items.Count-1;
    while (increment<=count)
    {


        Label datalist_id = (Label)DataList1.Items[increment].FindControl("lbl_PID");
        if (id.Text == datalist_id.Text)
        {
            LinkButton lnkbtn = (LinkButton)DataList1.Items[increment].FindControl("lnk_Add");
            lnkbtn.Enabled = true;
        }
        increment = increment + 1;
    }
于 2013-04-01T06:33:32.830 回答