ASP.NET Podcast

ASP.NET Podcast is geared towards the Microsoft .NET Framework and ASP.NET.
The podcast is run by Wally and Paul.
Welcome to ASP.NET Podcast Sign in | Join | Help
in Search

ASP.NET Podcast

The ASP.NET Podcast features, technical talks, interviews, news, reviews, and Wallyisms. Wallace B. (Wally) McClure and Paul Glavich are your hosts.

ASP.NET Podcast Show #117 - Using the History Functionality with the ASP.NET AJAX UpdatePanel in .NET 3.5 Service Pack 1 Beta 1

Subscriptions & Downloads

Subscribe to everything.

Subscribe to WMV.

Subscribe to M4V for iPod.

Subscribe to MP3.

Download WMV.

Download M4V for iPod.

Download MP3.

Show Notes:

Images:

This is the UpdatePanel with EnableSecureHistoryState set to true

EnableSecureHistoryState=true 

This is the UpdatePanel with EnableSecureHistoryState set to false.

 EnableSecureHistoryState=false

Source Code:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UpdatePanelHistory.aspx.cs" Inherits="UpdatePanelHistory" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>UpdatePanel History Button</title>

</head>

<body>

    <form id="form1" runat="server">

    <asp:ScriptManager ID="scm" runat="server"

       EnableHistory="true"

       OnNavigate="scm_Navigate"

       />

    <div>

    <asp:Button ID="btnSubmit" runat="server" Text="Click Me!"

            onclick="btnSubmit_Click" />

    <asp:UpdatePanel ID="upl" runat="server" UpdateMode="Conditional">

    <ContentTemplate>

        <asp:Label ID="lblTime" runat="server" />

    </ContentTemplate>

    <Triggers>

        <asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />

    </Triggers>

    </asp:UpdatePanel>

    </div>

    </form>

</body>

</html>

 

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Collections.Specialized;

public partial class UpdatePanelHistory : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

 

    protected void scm_Navigate(object sender, HistoryEventArgs he)

    {

        NameValueCollection pageState = he.State;

        string dtS;

        if (pageState != null)

        {

            dtS = pageState.Get("Time");

            if (!String.IsNullOrEmpty(dtS))

            {

                lblTime.Text = dtS;

            }

            else

            {

                lblTime.Text = String.Empty;

            }

            upl.Update();

        }

    }

 

    protected void btnSubmit_Click(object sender, EventArgs e)

    {

        string dtS = DateTime.Now.ToString();

        lblTime.Text = dtS;

        if ((scm.IsInAsyncPostBack == true) && (scm.IsNavigating != true))

        {

            AddHistoryPoint(dtS);

        }

    }

    private void AddHistoryPoint(string HistoryPoint)

    {

        NameValueCollection pageState = new NameValueCollection();

        pageState.Add("Time", HistoryPoint);

        scm.AddHistoryPoint(pageState, "Time:" + HistoryPoint);

    }

}
Published Sunday, June 15, 2008 1:59 PM by admin
Anonymous comments are disabled

This Blog

Syndication

Powered by Community Server, by Telligent Systems