вы можете использовать ViewState для этого. при каждом событии нажатия кнопки обновлять состояние просмотра с помощью флага кнопки. например для кнопки 1
if(ViewState["MyButtonState"]==null)
ViewState["MyButtonState"]=1;
else
ViewState["MyButtonState"]=((int)ViewState["MyButtonState"]) | 1;
вы также можете использовать перечисление флагов, что является лучшим подходом. для кнопки 1-4 используйте 1,2,4,8
и, наконец, в операторе if
if(((int)ViewState["MyButtonState"])==0x0000000F)
label1.Visible=true;