Javascript 从网格视图的数据列表中查找链接按钮

Javascript 从网格视图的数据列表中查找链接按钮,javascript,asp.net,c#-4.0,Javascript,Asp.net,C# 4.0,我有一个网格视图和一个数据列表(bot分别包含一些列和链接按钮)如何通过单击网格视图中的链接按钮找到数据列表链接按钮控件(网格视图数据是由数据列表链接按钮生成的,并且botha具有所提到的相同数据键)。我的相关代码如下 protected void Gird1_Click(object sender, GridViewDeleteEventArgs e) { Label id = (Label)Grid1.Rows[e.RowIndex].FindControl("lbl_PID");

我有一个网格视图和一个数据列表(bot分别包含一些列和链接按钮)如何通过单击网格视图中的链接按钮找到数据列表链接按钮控件(网格视图数据是由数据列表链接按钮生成的,并且botha具有所提到的相同数据键)。我的相关代码如下

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();
}
protectedvoid Gird1\u单击(对象发送方,GridViewDeleteEventArgs e)
{
Label id=(Label)Grid1.Rows[e.RowIndex].FindControl(“lbl_PID”);
DataTable dt=(DataTable)视图状态[“DataTable”];
如果(dt.Rows.Count>0)
{
对于(int i=0;i
为这两个链接按钮指定相同的名称 并在gridview中单击一次链接按钮

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

}
最后

    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;
    }
int增量=0;
int count=DataList1.Items.count-1;

而(递增)我在响应“无法将类型为'System.Web.UI.WebControl.GridView'的对象强制转换为类型为'System.Web.UI.WebControl.LinkButton'”时收到此错误,在此行“LinkButton lnkGridview=(LinkButton)sender”;这是因为我使用的是“GridViewDeleteEventArgs”而不是“eventargs”我理解你的问题,你使用了内置的gridview deltecommands。如果我们在gridview和datalist中使用项目模板,我给它的任何东西都会起作用,所以我很抱歉我不知道它的标签id=(Label)Grid1.Rows[e.RowIndex].FindControl(“lbl_PID”);foreach(datalist1.items中的datalistitem){linkbutton lnkDatalist=(linkbutton)item.FindControl(“LinkButtonDalistId”);}如果您知道特定的链接按钮ID,可以尝试此方法