The same approach in the link shared by @musefan will work for you.
I have created a CheckBox:
<asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged" dataAttributeA="Test Custom Attr A" dataAttributeB="Test Custom B" Text="Check it or dont" AutoPostBack="True" />
Then a method to handle the changed event:
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
String customAttr1 = CheckBox1.Attributes["dataAttributeA"].ToString();
String customAttr2 = CheckBox1.Attributes["dataAttributeB"].ToString();
Response.Write("<h1> Custom Attributes A and B = " + customAttr1 + " " + customAttr2);
}
And finally I have set the AutoPostBack property of the CheckBox to true, so It's change event will be triggered as soon as it's clicked.
I have obtained the expected result
Custom Attributes A and B = Test Custom Attr A Test Custom B