C# 命令参数不工作链接按钮
我有一个链接按钮和一组记录。单击特定记录的链接按钮时,我希望将该记录的id传递给代码隐藏。这是我使用的代码: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
<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所述,例如,您可以处理DataGrid或Repeater的事件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]是什么?你确实解决了你的问题。