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>

  • 相关阅读:
    AI CV 会议2018
    ubuntu 更改默认亮度
    ubuntu安装latex
    过滤文件代码 python
    ubuntu安装pycharm桌面快捷方式
    Ubuntu 14.04 鼠标消失解决方案
    ffmpeg常用命令
    FFMPEG 在ubuntu下的安装与使用
    pragma once
    chrono--高精度计时
  • 原文地址:https://www.cnblogs.com/zwei1121/p/757027.html
Copyright © 2011-2022 走看看