zoukankan      html  css  js  c++  java
  • Web Service 与 PageMethods 初步认识

    我来介绍一下PageMethods 这个方法的使用 使用前首先要启用 启用方法如下:
    <asp:scriptManager ID="scriptManager1" runat="server" EnablePageMethods="True" /> EnablePageMethods 一定会要设为true,
    这样我门才能在 客户端调用服务器的方法 下面有个详细的例题
    在 客户端代买如下
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
         <title>Untitled Page</title>
         <script language="javascript" type="text/javascript">
    // <!CDATA[
    function   GetServerTime() {
    PageMethods.GetServerTime();//这个方法就是 服务器的方法
    }
    // ]]>
    </script>
    </head>
    <body>
         <form id="form1" runat="server">
             <asp:scriptManager ID="scriptManager1" runat="server" EnablePageMethods="True" />
             <div>
    <input type="button" value="服务器时间" id="btnGetServerTime" onclick="GetServerTime()" />
    <span id="result" />
    </div>
         </form>
             </body>
    </html>
    下面 后置文件.cs
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    public partial class _Default : System.Web.UI.Page
    {
         protected void Page_Load(object sender, EventArgs e)
         {
         }
         [System.Web.Services.WebMethod] //这个属性 必不可少的
         public static string GetServerTime()   //静态的
         {
             return DateTime.Now.ToString();
         }
    }

    总结ASP.NET AJAX在客户端JavaScript中异步调用服务器端Web Service,我们需要:

    1 为Web Service类或需要暴露给客户端的Web Service方法添加[ScriptService]
          属性;

    2 为Web Service中需要暴露给客户端的方法添加[WebMethod]属性;

    3 在页面中的ScriptManager控件中添加对该Web Service的引用;

    4 在客户端使用如下JavaScript语法调用该Web Service:
          [NameSpace].[ClassName].[MethodName](param1, param2,..., callbackFunction)

    5 为客户端异步调用指定回调函数,在回调函数中接收返回值并进一步处理。
    使用ASP.NET AJAX在客户端JavaScript中异步调用定义在ASP.NET页面中的方法,我们需要:

    1 将该方法声明为公有(public);

    2 将该方法声明为类方法(C#中的static,VB.NET中的Shared),而不是实例方法;

    3 为该方法添加[WebMethod]属性;

    4 将页面中ScriptManager控件的EnablePageMethods属性设置为true;

    5 在客户端使用如下JavaScript语法调用该页面方法:
          PageMethods.[MethodName](param1, param2,..., callbackFunction);

    6 为客户端异步调用指定回调函数,在回调函数中接收返回值并进一步处理

  • 相关阅读:
    关于JS中判断两个数组相等
    用JS实现二叉树
    elementUI select组件 默认选择第一项
    angular [src] 绑定url或src 报XSS错误
    easy-mock本地搭建工程实操
    array splice split || string split slice 傻傻分不清楚=>终于弄清楚了
    循环=>轮回=>js循环比拼
    vue-cli 搭建工程配置 => 你想要这里都有
    git分支问题 查看、创建、关联、删除本地/远程分支
    vue知识点 && 错误点 => 持续更新
  • 原文地址:https://www.cnblogs.com/cnaspnet/p/1618795.html
Copyright © 2011-2022 走看看