Это может быть полезно, если у вас один и тот же метод EventHandler для разных кнопок. Например, скажем, ваша разметка выглядит так:
<asp:Button ID="button1" runat="server" CommandArgument="MyVal1"
CommandName="ThisBtnClick" OnClick="MyBtnHandler" />
<asp:Button ID="button2" runat="server" CommandArgument="MyVal2"
CommandName="ThatBtnClick" OnClick="MyBtnHandler" />
Вы можете иметь один и тот же обработчик событий для обеих кнопок и различать их в зависимости от CommandName:
protected void MyBtnHandler(Object sender, EventArgs e)
{
Button btn = (Button)sender;
switch (btn.CommandName)
{
case "ThisBtnClick":
DoWhatever(btn.CommandArgument.ToString());
break;
case "ThatBtnClick":
DoSomethingElse(btn.CommandArgument.ToString());
break;
}
}
Источник: aspnet-параметры передачи в кнопке-клик-обработчик