如何在c# asp.net中处理多个Link按钮的单个事件
本文关键字:Link 按钮 事件 单个 处理 asp net | 更新日期: 2023-09-27 18:14:28
我有A|B|C|D.....网页表单上的Z链接按钮。现在我必须在代码后面添加单个事件来处理所有链接按钮。如何使用c# asp.net
如果您不是指动态设置事件,您只需在OnClick事件中为所有按钮设置相同的方法:
<asp:LinkButton id="btnA" Text="A" runat="server" OnClick="myMethod" />
<asp:LinkButton id="btnB" Text="B" runat="server" OnClick="myMethod" />
后面的代码:
potected void myMethod(object sender, EventArgs e)
{
....
}
这应该工作…
此外,而不是OnClick,你可以设置CommandName和额外设置CommandArgument为每个LinkButton,传递不同的参数。然后,在方法签名后面的代码中,你应该设置commanddeventargs而不是EventArgs。
在Page_Init中关联这些按钮或linkbutton的事件处理程序,并检查发出请求的发送方控件
protected void Page_Init()
{
LinkButton1.Click += Link_Click;
LinkButton2.Click += Link_Click;
LinkButton3.Click += Link_Click;
LinkButton4.Click += Link_Click;
}
根据您的回发功能控件强制转换该控件,该控件是button还是linkbutton,并检查该控件的某些控件属性以识别该控件。
private void Link_Click(object sender, EventArgs e)
{
LinkButton button = sender as LinkButton;
if (button.Text == "LinkButton1")
{
Response.Write("<script>alert('link1');</script>");
}
else if (button.Text == "LinkButton2")
{
Response.Write("<script>alert('link2');</script>");
}
}
您可以检查控件为:
Button button = (Button)sender;
if(button is Button1)
{
..
}
使用like:
button1.Click += new EventHandler(Button_Click);
button2.Click += new EventHandler(Button_Click);
button3.Click += new EventHandler(Button_Click);
......
将所有事件订阅到单个事件处理程序。您可以在事件处理程序中获取已单击的按钮:-
private void Button_Click(object sender, System.EventArgs e)
{
Button b = (Button) sender;
Label1.Text = b.ID;
}