我有一个中继器,它的一个列中有一个LinkButton,并且我连接了onclick事件。当用户点击其中一个选项时,我需要知道他们点击的是哪个LinkButton。执行此操作的最佳实践是什么?
发布于 2011-07-28 22:43:57
您应该使用OnCommand事件而不是OnClick使用一些CommandName和CommandArgument来区分b/w项。This MSDN page有一个例子。
发布于 2011-07-28 22:43:59
通常情况下,CommandArgument='<%#Eval("Id")用于这样的目的
<asp:LinkButton ID="LinkButton1" runat="server"
CommandArgument='<%#Eval("Id") %>' CommandName="commandName"></asp:LinkButton>然后就会像这样..。
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if(e.CommandName == "commandName")
{
Int32 id = Convert.ToInt32(e.CommandArgument);
}
}发布于 2011-07-28 22:45:37
您要做的是连接转发器的ItemCommand事件,而不使用LinkButton的OnClick事件。相反,连接LinkButton的CommandName。
当ItemCommand触发时,您将能够根据按钮上设置的CommandName来判断是哪个按钮触发了它。您还可以访问Repeater该行中的所有控件。
MSDN http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.itemcommand.aspx
https://stackoverflow.com/questions/6860843
复制相似问题