Click here to Skip to main content
Click here to Skip to main content
 
Add your own
alternative version

Events Between Web Forms

, 6 Jul 2007
Raise Events Between Web Forms Using CallBacks or Ajax
Imports System.IO

Partial Public Class _Default
    Inherits System.Web.UI.Page
    Implements System.Web.UI.ICallbackEventHandler


    ''' <summary>
    ''' Holds the result that will be send to the Page
    ''' </summary>
    Protected CallBackResult As String



    ''' <summary>
    ''' Register propper callbacks
    ''' </summary>
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        'Register the method that receives the call back result
        Dim ReceiverCallBackMethod As String
        ReceiverCallBackMethod = Page.ClientScript.GetCallbackEventReference(Me, "arg", "ReceiveCallBackResult", "context")
        'Register the method that makes the callback call
        Dim callbackMethod As String
        callbackMethod = "function CallServer(arg, context) { " & ReceiverCallBackMethod & "} ;"
        Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "CallServer", callbackMethod, True)

    End Sub


    ''' <summary>
    ''' Creates HTML code 
    ''' </summary>
    ''' <returns>The HTML</returns>
    Public Function ShowTheData() As String

        'The data source
        Dim DS As New DataSet
        'Check if the file exists
        Dim file As New FileInfo(Server.MapPath(Request.ApplicationPath) & "/Data.xml")
        If Not file.Exists Then
            DS.Tables.Add("Users")
            DS.Tables("Users").Columns.Add("User Name", GetType(String))
            DS.Tables("Users").Columns.Add("Age", GetType(Integer))
            DS.WriteXml(file.FullName, XmlWriteMode.WriteSchema)
        Else
            DS.ReadXml(file.FullName)
        End If

        'The HTML
        Dim HTML As String = "<Table border=1>"
        'Add the headers
        HTML &= "<tr><td>Name</td><td>Age</td></tr>"

        'Create the Rows
        For Each Row As DataRow In DS.Tables("Users").Rows
            Dim TR As String = "<tr>"
            'show the name and Age
            TR &= "<td>" & Row(0).ToString & "</td>"
            TR &= "<td>" & Row(1).ToString & "</td>"
            TR &= "</tr>"
            HTML &= TR
        Next

        Return HTML & "</Table>"
    End Function


    ''' <summary>
    ''' The Event that proccess the Call Back
    ''' </summary>
    ''' <param name="eventArgument">Send values to proccess here</param>
    Public Sub RaiseCallbackEvent(ByVal eventArgument As String) _
    Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent

        'In this case we dont need to proccess nothing 

    End Sub


    ''' <summary>
    ''' This will return some data to the Caller Page
    ''' </summary>
    ''' <returns>HTML string with all the users</returns>
    Public Function GetCallbackResult() _
    As String Implements _
    System.Web.UI.ICallbackEventHandler.GetCallbackResult

        'return the value
        Return ShowTheData()

    End Function

End Class

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Pramirez
Web Developer
Mexico Mexico
I am Pedro Ramirez from mexico, work for www.sciodev.com, the company is located in Mexico, we do outsourcing and nearshore development, we are focused on SaaS nearshore development, I started with VB.Net, but now I am ambidextrous using VB.Net or C#.

| Advertise | Privacy | Mobile
Web01 | 2.8.140827.1 | Last Updated 6 Jul 2007
Article Copyright 2007 by Pramirez
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid