When in Doubt Clear Your Bin

This is a reminder to myself, and anyone facing down a weird error message when trying to build their ASP.NET application: you need to try clearing out your Bin folder and rebuilding it. I've 'fixed' probably a dozen build problems so far just by clearing out my Bin and rebuilding the application. To clear your Bin folder:

  1. Find your project file in Visual Studio and left click it.
  2. Go up to the icons in your Solution Explorer and click 'Show All Files'.
  3. Find your Bin folder in your project, and right click it.
  4. Click 'Open File in Windows Explorer'.
  5. Select everything in the folder (Ctrl + A) and delete it.
  6. Rebuild your application.

I've got no idea why there were errors with my applications, or why this fixed them, but its always a good first line of defense. If you've got an error message you can't figure out, clean out your bin.

 


ASP.NET Error Message: Invalid postback or callback argument

If you're trying to create a post-back from Javascript in ASP.NET, you might have come across the following error:

Invalid postback or callback argument. Event validation is enabled using in configuration or in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

This message is caused because ASP is attempting to validate that a given post-back that was initiated from Javascript is really supposed to be happening; basically, it is an attempt to try to prevent cross-site scripting from issuing post-backs. You can do as the message says and register the callback, you can edit your web.config file, or you can do what I do, and add the following line to your Page directive in your .aspx page like so:

<%@ Page EnableEventValidation="false" ... %>

Be aware that by setting EnableEventValidation to false, you're opening a hole in your security. I'm using this in a situation where the risk has been minimized, but if you're including external scripts, you might want to actually go through the trouble of registering the event.

 

ASP.NET First Thoughts

I'd announced a few weeks back that I was taking a role as a .NET desktop developer, but I've found that I'm actually going to be doing a good bit of ASP.NET web development as well (w00t!). As such, I've shifted gears a bit and dropped my studies of WPF for ASP.NET, and although I'm certainly not an expert yet, I thought I'd share my first thoughts.

 
Jon in Chicago, July 2008

I'm Jon Hartmann and I'm a C# .Net developer by day, a ColdFusion guru by night, and all around Javascript fanatic. Stay right here to read my technical posts as I grapple with mysterious error messages, user interface design questions, and all things baffling and irksome about programming for the web. Learn more about me.

Post a job. Find one. authenticjobs.com

Interested in becoming a sponsor? Contact me.