zoukankan      html  css  js  c++  java
  • Using PageMethods to access Session data

    Using PageMethods to access Session data

    Here is one of the samples I was asked for at TechEd last week.  How to access session state data from the browser.  There are two C# methods in the page.  One overrides the the OnLoad method and stores a value in session state for demonstration purposes.  The other is a static method decorated with the WebMethod attribute that can be called from JavaScript. It retrieves the value for the given key from session state.  Currently, only static methods are callable use the PageMethods object in the browser.

    In the JavaScript code, there is a pageLoad method which will be called automatically by the ASP.NET AJAX script library.  The PageMethods object is used to invoke the method on the server.  It provides callbacks for success and error.  The success callback just displays the value retrieved from session state on the server.

    <%@ Import Namespace="System.Web.Services" %>
    <script runat="server" language="C#">
    protected override void OnLoad(EventArgs e) {
        HttpContext.Current.Session["foo"] = "bar";
    }

    [WebMethod]
    public static string Session(string key) {
        return (string)HttpContext.Current.Session[key];
    }
    </script>

    <
    script type="text/javascript">
    function
    pageLoad(sender, arg) {
        PageMethods.Session(
    "foo", OnCallComplete, OnCallError);
    }

    function OnCallComplete(result, userContext, methodName) {
        alert(result);
    }

    function OnCallError(error, userContext, methodName) {
        if(error !== null) {
            alert(error.get_message());
        }
    }
    </script>
    <
    form runat="server">
    <asp:scriptmanager runat="server" id="scriptmanager" />
    </
    form>

  • 相关阅读:
    Storm应用系列之——集成Kafka
    Storm常见模式——分布式RPC
    Storm常见模式——流聚合
    博客迁移
    设计模式学习笔记
    JStorm模型设计
    MySQL学习笔记
    JAVA学习笔记
    JavaScript学习笔记
    用ACE来写代码
  • 原文地址:https://www.cnblogs.com/zwei1121/p/757027.html
Copyright © 2011-2022 走看看