Documentation for: ASP.NET Ajax Version 1.0

This documentation is for a previous version. For the current released version, see the ASP.NET Ajax documentation on MSDN.

 

 

 

 

 

 

 

UpdatePanelUserControlTutorial1 Sample

cs/EmployeeList.ascx.cs

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;

public partial class EmployeeList : System.Web.UI.UserControl
{
    public int EmployeeID
    {
        get
        {
            if (EmployeesGridView.SelectedIndex != -1)
                return (int)EmployeesGridView.DataKeys[EmployeesGridView.SelectedIndex].Value;
            else
                return -1;
        }
    }

    public UpdatePanelUpdateMode UpdateMode
    {
        get { return this.EmployeeListUpdatePanel.UpdateMode; }
        set { this.EmployeeListUpdatePanel.UpdateMode = value; }
    }

    public void Update()
    {
        this.EmployeeListUpdatePanel.Update();
    }

    public int SelectedIndex
    {
        get { return this.EmployeesGridView.SelectedIndex; }
    }

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        this.LastUpdatedLabel.Text = DateTime.Now.ToString();
    }

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        this.EmployeesGridView.SelectedIndexChanged += this.EmployeesGridView_SelectedIndexChanged;
        this.EmployeesGridView.PageIndexChanged += this.EmployeesGridView_PageIndexChanged;
        this.EmployeesGridView.DataBound += this.EmployeesGridView_DataBound;
        this.EmployeesGridView.Sorted += this.EmployeesGridView_Sorted;
    }

    public event EventHandler SelectedIndexChanged;

    protected void OnSelectedIndexChanged(EventArgs e)
    {
        if (SelectedIndexChanged != null)
        {
            SelectedIndexChanged(this, e);
        }
    }

    private void EmployeesGridView_SelectedIndexChanged(object sender, EventArgs e)
    {
        this.SelectedIndexChanged(this, e);
        
        ViewState["SelectedEmployeeID"] = this.EmployeeID;
    }

    private void EmployeesGridView_PageIndexChanged(object sender, EventArgs e)
    {
        if (EmployeesGridView.SelectedIndex != -1)
        {
            this.EmployeesGridView.SelectedIndex = -1;
            this.SelectedIndexChanged(this, e);
        }
    }

    private void EmployeesGridView_Sorted(object sender, EventArgs e)
    {
        if (EmployeesGridView.SelectedIndex != -1)
        {
            this.EmployeesGridView.SelectedIndex = -1;
            this.SelectedIndexChanged(this, e);
        }
    }

    protected void EmployeesGridView_DataBound(object sender, EventArgs e)
    {
        int selectedEmployeeID =
          ViewState["SelectedEmployeeID"] == null ? -1 : (int)ViewState["SelectedEmployeeID"];

        for (int i = 0; i < EmployeesGridView.Rows.Count; i++)
            if ((int)EmployeesGridView.DataKeys[i].Value == selectedEmployeeID)
            {
                EmployeesGridView.SelectedIndex = i;
                this.SelectedIndexChanged(this, e);
            }
    }
}