title: Why is the Page_Load event firing when I want to load another page?
body: <p>Very new to ASP, and I have what feels like a very basic question.  I have the following code in my default.aspx.cs file:</p>
  
  <pre><code>        protected void Page_Load(object sender, EventArgs e)
      {
          if (!IsPostBack)
          {
              //Get one day ago
              DateTime oneDayAgo = DateTime.Now.ToLocalTime().AddDays(-1);
              String strOneDayAgo = oneDayAgo.ToString();
  
              //Declare the query string
              String queryString = "Select * from Computers Where whenCreated &gt;= '" + strOneDayAgo + "' ORDER BY whenCreated DESC";
  
              //Show the query being used to the user
              lblQueryUsed.Text = queryString;
  
              // Run the query and bind the resulting DataSet to the GridView control.
              DataSet ds = GetData(queryString);
              if (ds.Tables.Count &gt; 0)
              {
                  GridView1.DataSource = ds;
                  GridView1.DataBind();
              }
          }
      }
  </code></pre>
  
  <p>All of that works very nicely, but the problem is when a user clicks a link on that page to go to another page called Reports.aspx, that same Page_Load event fires, and all of the controls (lblQueryUsed, GridView1) are set to NULL for some reason, and I get an exception.</p>
  
  <p>Why is the Page_Load event for default.aspx loading when I want to load Reports.aspx? Why are the controls null?</p>
  
  <p>Thanks a lot for the help.</p>
  
  <p><strong>EDIT:Here is the full code of that page, what else do you need?</strong></p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.DirectoryServices;
  using System.Data.SqlClient;
  using Sorter;
  using System.Data;
  
  namespace AD_watcher_web_app
  {
  public partial class _Default : System.Web.UI.Page
  {
      protected void Page_Load(object sender, EventArgs e)
      {
          if (!IsPostBack)
          {
              //Get one day ago
              DateTime oneDayAgo = DateTime.Now.ToLocalTime().AddDays(-1);
              String strOneDayAgo = oneDayAgo.ToString();
  
              //Declare the query string
              String queryString = "Select * from Computers Where whenCreated &gt;= '" + strOneDayAgo + "' ORDER BY whenCreated DESC";
  
              //Show the query being used to the user
              lblQueryUsed.Text = queryString;
  
              // Run the query and bind the resulting DataSet to the GridView control.
              DataSet ds = GetData(queryString);
              if (ds.Tables.Count &gt; 0)
              {
                  GridView1.DataSource = ds;
                  GridView1.DataBind();
              }
          }
      }
  
      protected void Label1_PreRender(object sender, EventArgs e)
      {
          //Populate the labels
          lblCompCount.Text = GridView1.Rows.Count.ToString();
          lblTimeRun.Text = DateTime.Now.ToLocalTime().ToString();
      }
  
      ///////////////////////METHODS///////////////////////
  
      DataSet GetData(String queryString)
      {
          // Set the connection string
          SqlConnectionStringBuilder conBuilder = new SqlConnectionStringBuilder();
          conBuilder.DataSource = "dbsql01dev.llnl.gov";
          conBuilder.InitialCatalog = "XloadDB";
          conBuilder.IntegratedSecurity = true;
  
          String connectionString = conBuilder.ConnectionString;
  
          //Declare a new dataset
          DataSet ds = new DataSet();
  
          try
          {
            // Connect to the database and run the query.
            SqlConnection connection = new SqlConnection(connectionString);        
            SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection);
  
            // Fill the DataSet.
            adapter.Fill(ds);
          }
          catch(Exception ex)
          {
            // The connection failed. Display an error message.
              lblExceptions.Text = ex.ToString();
              lblExceptions.Visible = true;
          }
          return ds;
        }
  }
  }
  </code></pre>