asp.net如何获取用户点击的按钮的ID

时间:2013-07-10 14:45:09

标签: asp.net

我有一个小问题。我正在开发一个在线座位预订系统,允许用户点击并选择座位。我正在使用座椅按钮。我正在为所有按钮编写按钮单击事件的方法。我需要知道如何识别按钮的ID,用户点击。提前谢谢。

4 个答案:

答案 0 :(得分:30)

使用按钮点击事件时,处理事件的方法的签名如下:

protected void foo (object sender, EventArgs e)
在这种情况下,

sender是单击的按钮。只需将它再次投射到Button,就可以了。像这样:

Button button = (Button)sender;
string buttonId = button.ID;

您可以让所有按钮将Click事件指向与此相同的方法。

答案 1 :(得分:5)

事件处理程序的第一个参数(object source或有时object sender)是对单击按钮的引用。您需要做的只是强制转换,然后您可以检索id值,例如:

void Button_Click(object sender, EventArgs e)
{
    Button button = sender as Button;
    if (button != null)
    {
       //get the id here
    }
}

答案 2 :(得分:1)

我认为还有另一种方法来做这种方法,你可能没有想到它, 为什么不放一个

  

图像控制

你只需要为这种方法切换图像的颜色,第一个我们假设它是红色,它意味着免费座位,第二个是蓝色,表示采取

以下是您可能需要了解的有关此问题的链接How to change color of Image at runtime

希望我能给你一个更好的主意。谢谢

答案 3 :(得分:0)

我知道这是一个老话题,但希望它可以帮助某人在那里遇到与我在2019年在这里遇到的同样的麻烦!这是我的解决方案,将按钮的Tag属性与通过XAML绑定一起使用。即使对我来说有点棘手,但对我来说效果很好:

在您的按钮单击事件中:

private void Button_Click(object sender, RoutedEventArgs e)
        {
            Button EditButton = (Button)e.Source;
            int id = Convert.ToInt32(EditButton.Tag);

            //do your stuff
        }

在您的XAML中:

<Button Click="Button_Click" Content="Edit" Tag="{Binding whateverInt}" />