I solved my problem using a simple trick. I created a web user control using a checkbox and invisible link button.
<asp:CheckBox ID="cbSelector" runat="server" AutoPostBack="true" />
<asp:LinkButton ID="btnHiddenCheckBox" runat="server" Visible="false" CommandName="Select"></asp:LinkButton>
in the code behind i added some event handlers ...
protected void Page_Load(object sender, EventArgs e)
{
cbSelector.CheckedChanged += new EventHandler(cbSelector_CheckedChanged);
}
void cbSelector_CheckedChanged(object sender, EventArgs e)
{
btnHiddenCheckBox.CommandName = "Select";
btnHiddenCheckBox.CommandArgument = Convert.ToString(cbSelector.Checked);
((IPostBackEventHandler)btnHiddenCheckBox).RaisePostBackEvent(null);
}
and programmatically raised a Click event with parameters and it works.