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>

  • 相关阅读:
    python类方法和静态方法
    42个创意户外广告设计
    50免费为移动设计和开发的PSD文件极力推荐
    40个高品质的免费商业PSD文件
    10 个有用免费 CSS3 强大工具
    10个方便的在线CSS代码生成器,网页设计师必备!
    对makefile中,变量定义中 通配符的理解
    GNU make manual 翻译(八十七)
    GNU make manual 翻译(八十九)
    GNU make manual 翻译(八十五)
  • 原文地址:https://www.cnblogs.com/zwei1121/p/757027.html
Copyright © 2011-2022 走看看