Post navigation

If Not Page.IsPostBack in ASP.NET

Many of you have seen this mysterious if/then statement in a lot of the online and book code samples, and you probably have, at one time or another, wondered just what exactly this was all about. This tutorial plans to answer all your questions. There is one basic question that gets asked on ASP.Net Forums and ASPFriends.com ListServes, over and over, in a several different ways. It all boils down to one answer concerning the IsPostBack Property of the page.
“Why doesn’t my DropDownList keep it’s Selection?”
“Why is the selectedindex for my (ASP.Net control) always turning up a -1?”

Fortunately, today, you’ve come to the right place. You questions will be answered.

Scenario:
You put a DropDownList or a ListBox (or just about any ASP.Net control which has multiple items assigned to it) on your web page (inside a form, naturally). Then, at some point, you either populate the list items manually, or bind it to a database table. However, you do it, you get a list of items from which, at some point, the end user can make a choice. Based on that choice, the end user gets more data in return. Most of the basic item population of these controls is done during the initial loading of the page (Page_Load event). That way, the list items are available for choosing once the page is finished loading.

Let’s say, then, you also put a button on the page. That way, the end user can choose an item in the list, click the button and get the extended data, based on the selection made. The button’s click event would then take the item which was selected and use it in a click event that could then, possibly connect to a database and use the selected item’s data to filter a query against a database.