• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 190
  • Last Modified:

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

0
käµfm³d   👽
Asked:
käµfm³d   👽
1 Solution
 
GiftsonDJohnCommented:
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

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now