C# 命令参数不工作链接按钮

C# 命令参数不工作链接按钮,c#,asp.net,asplinkbutton,C#,Asp.net,Asplinkbutton,我有一个链接按钮和一组记录。单击特定记录的链接按钮时,我希望将该记录的id传递给代码隐藏。这是我使用的代码: <asp:LinkButton ID="Likes" runat="server" OnCommand="LinkButton1_Click" CommandArgument='<%#Eval("datarow["ID"]") %>' CommandName="Like"> Click</asp:LinkButton> prote

我有一个链接按钮和一组记录。单击特定记录的链接按钮时,我希望将该记录的id传递给代码隐藏。这是我使用的代码:

<asp:LinkButton ID="Likes" runat="server"  OnCommand="LinkButton1_Click" 
  CommandArgument='<%#Eval("datarow["ID"]") %>' CommandName="Like">  
  Click</asp:LinkButton>
  protected void LinkButton1_Click(object sender,  CommandEventArgs e)
      {
         int x = Int32.Parse(e.CommandArgument.ToString());
      }

但是命令参数在这里是空的。你能帮我吗?

你会处理错误的事件。我认为您的LinkButton位于另一个控件内,如@greg84所述,例如,您可以处理DataGridRepeater的事件ItemDataBound

protected void Control_ItemDataBound(object sender, ControlItemEventArgs e) 
{
    LinkButton Likes = (LinkButton)e.Item.FindContro("Likes");
    // Write code here to handle for like click
    // ...
}  

LinkButton
是否位于另一个控件内,例如
中继器
?你能包括标记吗?不,它是html表格的一部分。我在这里使用了一个html表来显示数据。我认为commandname在您的案例中造成了问题。所以,如果您从标记中删除命令名,它可能会起作用。使用OnClick事件,我也试过了。使用onclick函数,我将cs文件中的代码更改为:protectedvoid LinkButton1\u Click(objectsender,EventArgs e){LinkButton btn=(LinkButton)sender;int x=Int32.Parse(btn.CommandArgument);}我看到了您的注释。问题是您的datarow[ID]。是什么意思?我该如何解决它。Id是列的名称。否则我怎么传递后面的值?你能告诉我怎么传递后面的值吗?对不起,回复太晚了。您的数据行[ID]是什么?你确实解决了你的问题。