Getting an Invalid postback or callback argument can be a very frustrating issue. Especially when most of the articles out there discuss potential issues that are often irrelevant.
The error is caused because the page loading process gets interrupted. The interruption can be caused by an event being called prematurely. What then happens is that the salt hashes that protect your page from injection attacks are not generated and when the page goes to read them, they can't and throw the famous error.
This error can also be thrown when content on your page get changed on the client end and no longer reflects the salt hashes created by the server)
The following solution registers each control and has been reported to work with both regular asp.net sites as well as Ajax enabled sites:
protected override void Render(HtmlTextWriter writer)
{
Register(this);
base.Render(writer);
}
private void Register(Control ctrl)
{
foreach (Control c in ctrl.Controls)
Register(c);
Page.ClientScript.RegisterForEventValidation(ctrl.UniqueID);
}
I placed my copy of the above in my master page's code behind.
Source: http://forums.asp.net/t/922994.aspx?PageIndex=10
As a side note, I think this may have solved one of my issues, but the particular code I am currently testing has other issues... which may just be that I am testing locally and running out of memory...??? will write more when I figure it out or if I have different results on my server. I am currently working on a project that is rather data intensive!