Javascript 从网格视图的数据列表中查找链接按钮
我有一个网格视图和一个数据列表(bot分别包含一些列和链接按钮)如何通过单击网格视图中的链接按钮找到数据列表链接按钮控件(网格视图数据是由数据列表链接按钮生成的,并且botha具有所提到的相同数据键)。我的相关代码如下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");
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,可以尝试此方法