e.CommandArgument para o botão asp não está funcionando

Estou desenvolvendo um aplicativo asp.net usando C #. Criei uma página .aspx e coloquei quatro botões em diferentes locais da página. No lado do servidor, quero usar apenas um evento de clique para todos os quatro botõe

Aqui está o meu código:

aspx page

<asp:Button ID="Button1" runat="server" CommandArgument="Button1" onClick = "allbuttons_Click" />
<asp:Button ID="Button2" runat="server" CommandArgument="Button2" onClick = "allbuttons_Click" />
<asp:Button ID="Button3" runat="server" CommandArgument="Button3" onClick = "allbuttons_Click" />
<asp:Button ID="Button4" runat="server" CommandArgument="Button4" onClick = "allbuttons_Click" />

cs page

protected void allbuttons_Click(object sender, EventArgs e)
{
    //Here i want to know which button is pressed
    //e.CommandArgument gives an error
}

questionAnswers(4)

yourAnswerToTheQuestion