En lugar de realizar la función de casilla de verificación al hacer clic en el botón, podría usar el evento OnCheckedChanged de la casilla de verificación y establecer AutoPostBack en verdadero, en ASP.NET. Luego podrá ejecutar automáticamente las acciones de la casilla de verificación y realizar la validación de datos en el evento de clic de botón.
(WinForms)
private void checkbox1_CheckedChanged(object sender, EventArgs e)
{
//Execute method
}
(ASP.NET)
<asp:CheckBox ID="checkbox" runat="server" OnCheckedChanged="checkbox_OnCheckedChanged" AutoPostBack="true" />
private void checkbox_OnCheckedChanged(object sender, EventArgs e)
{
//Execute method
}
Botón Click Event
protected void button_onclick(object sender, EventArgs e)
{
if (!checkbox1.Checked || !checkbox2.Checked)
MessageBox.Show("Error");
}