Simple ASP.NET Data Question (I hope!)

I am primarily a Forms programmer. I am now delving into web programming. I am working through some of the data-access examples at http://www.asp.net/learn/data-access. The sample code to follow will be modified slightly from the example at the site.

My question is what is happening with my code/page in the code below? Specifically, if the page load event finishes before the update product function is executed, why would my page refresh data? Is page load not the last function to run? I added the IsPostBack lines to see if I could make the data refresh with one click of the button. Is this good practice?

I may have more questions depending on the answer :)
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DAL_Tutorial.NorthwindTableAdapters;
 
public partial class AllProducts : System.Web.UI.Page
{
    ProductsBLL productLogic;
 
    protected void Page_Load(object sender, EventArgs e)
    {
        productLogic = new ProductsBLL();
 
        if (!IsPostBack)
        {
            GridView1.DataSource = productLogic.GetProductsByCategoryID(1);
            GridView1.DataBind();
        }
    }
 
    protected void UpdateProduct(object sender, EventArgs e)
    {
        try
        {
            productLogic.UpdateProduct(this.newName.Text, 1, 1, null, 14m, 10, null, null, false, 1);
 
            if (IsPostBack)
            {
                GridView1.DataSource = productLogic.GetProductsByCategoryID(1);
                GridView1.DataBind();
            }
        }
        catch (ArgumentException ae)
        {
            Response.Write("There was a problem: " + ae.Message);
        }
    }
}

Open in new window

LVL 75
käµfm³d   👽Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
GiftsonDJohnConnect With a Mentor Commented:
Hi,

Please check the below link for Asp.Net Page life cycle.
http://msdn.microsoft.com/en-us/library/ms178472.aspx

In the current scenario Page_Load will be executed first. I believe the UpdateProduct is the handler for the Button Click Event. It will be executed next. That's why you are preventing the Grid not to be binded again in the postback first by having a validation if (!IsPostBack) or (!Page.IsPostBack)

The validation if (IsPostBack) in UpdateProduct function is not required because the control will come here only after the postback.
0
 
käµfm³d 👽Author Commented:
Excellent. This is what I needed to know. Thanks again!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.