Solved

Simple ASP.NET Data Question (I hope!)

Posted on 2009-04-14
2
180 Views
Last Modified: 2012-05-06
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
Comment
Question by:käµfm³d   👽
2 Comments
 
LVL 14

Accepted Solution

by:
GiftsonDJohn earned 500 total points
ID: 24141204
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
 
LVL 75

Author Closing Comment

by:käµfm³d 👽
ID: 31570062
Excellent. This is what I needed to know. Thanks again!
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Web site error 3 41
Media.Imaging 1 18
Keyboard 2 34
InputLanguage 1 27
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question