在JS中调用CS里的方法(PageMethods)

2014年04月28日 11:18:18 被动 阅读数:2998
 

最近一直在看别人写好的一个项目的源代码,感觉好多东西都是之前没有接触过的。今天在代码中看到了一个类PageMethods,于是就在想,这个类是系统类还是自定义的呢?后面再网上百度了一下,原来PageMethods是用来在JS里调用CS里写好的方法。感觉这种方法的功能特别强调,所以在这里记录一下,也希望对大家有所帮助。

实例:

Default.aspx 代码


  1.  
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  2.  
     
  3.  
     
  4.  
     
  5.  
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6.  
     
  7.  
     
  8.  
     
  9.  
    <html xmlns="http://www.w3.org/1999/xhtml">
  10.  
     
  11.  
    <head runat="server">
  12.  
     
  13.  
    <title>无标题页</title>
  14.  
     
  15.  
    <script type="text/javascript" language="javascript">
  16.  
     
  17.  
    <!--
  18.  
     
  19.  
    function minbzdm()
  20.  
     
  21.  
    {
  22.  
     
  23.  
    PageMethods.OK(xxx);
  24.  
     
  25.  
    }
  26.  
     
  27.  
    function xxx(result)
  28.  
     
  29.  
    {
  30.  
     
  31.  
    alert(result);
  32.  
     
  33.  
    }
  34.  
     
  35.  
    //-->
  36.  
     
  37.  
    </script>
  38.  
     
  39.  
    </head>
  40.  
     
  41.  
    <body>
  42.  
     
  43.  
    <form id="form1" runat="server">
  44.  
     
  45.  
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
  46.  
     
  47.  
    </asp:ScriptManager>
  48.  
     
  49.  
    <div>
  50.  
     
  51.  
    <input type='button' value='删除' onclick='minbzdm()' />
  52.  
     
  53.  
    </div>
  54.  
     
  55.  
    </form>
  56.  
     
  57.  
    </body>
  58.  
     
  59.  
    </html>


Default.aspx.cs的代码

  1.  
    public partial class _Default : System.Web.UI.Page
  2.  
     
  3.  
    {
  4.  
     
  5.  
    protected void Page_Load(object sender, EventArgs e)
  6.  
     
  7.  
    {
  8.  
     
  9.  
    }
  10.  
     
  11.  
     
  12.  
     
  13.  
    [System.Web.Services.WebMethod]
  14.  
     
  15.  
    public static string OK()
  16.  
     
  17.  
    {
  18.  
     
  19.  
    return "OK";
  20.  
     
  21.  
    }
  22.  
     
  23.  

在JS中调用CS里的方法(PageMethods)的更多相关文章

  1. 【FLEX教程】#007 如何让JS调用SWF里的方法

    HTML中,JS如何调用SWF里面已经封装好的代码呢? 有一些事情Flex没办法实现的,需要通过调用JS来实现. eg: 当浏览器窗体关闭的时候,弹出一个对话框,提示用户是否退出?或者是否保存当前的操 ...

  2. JS与OC交互,JS中调用OC方法(获取JSContext的方式)

    最近用到JS和OC原生方法调用的问题,查了许多资料都语焉不详,自己记录一下吧,如果有误欢迎联系我指出. JS中调用OC方法有三种方式: 1.通过获取JSContext的方式直接调用OC方法 2.通过继 ...

  3. 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解

    提醒大家,Object.prototype.toString().call(param)返回的[object class]中class首字母是大写,像JSON这种甚至都是大写,所以,大家判断的时候可以 ...

  4. JS中的柯里化(currying)

    何为Curry化/柯里化? curry化来源与数学家 Haskell Curry的名字 (编程语言 Haskell也是以他的名字命名). 柯里化通常也称部分求值,其含义是给函数分步传递参数,每次传递参 ...

  5. Angular.js中处理页面闪烁的方法详解

    Angular.js中处理页面闪烁的方法详解 前言 大家在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况.数据还没响应,但页面已经渲染了.这是因为浏览器和angularjs渲染 ...

  6. JS中的柯里化及精巧的自动柯里化实现

    一.什么是柯里化? 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.这个技术由 C ...

  7. 在JS中调用JAVA变量

    在JS中调用JAVA变量可以,方法是:var JS变量名 = “<%=JAVA变量名 %>”<%中间写java代码,跟在JSP中一样%>在JAVA中 ,无法调用JS变量

  8. JS中的柯里化(currying) 转载自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]

    JS中的柯里化(currying) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpr ...

  9. JS中的call()和apply()方法(转)

    转自:http://uule.iteye.com/blog/1158829 JS中的call()和apply()方法 博客分类: JS   1.方法定义 call方法: 语法:call([thisOb ...

随机推荐

  1. linux服务器重启指令

    一.Linux 的五个重启命令 1.shutdown 2.poweroff 3.init 4.reboot 5.halt 二.五个重启命令的具体说明 shutdown reboot 在linux下一些 ...

  2. div中img依据不同分辨率居中显示,超出部分隐藏

    在做banner居中时 碰到的问题,知道可以用背景图实现居中显示,但是内心是想深究下的,故找到几种办法收集一下,后面两种真的是奇技淫巧 来着下面两处 https://www.zhihu.com/que ...

  3. Deep Learning - 1 神经网络

    Artificial Neuron 人工神经元有: Perceptrons(感知机) Sigmoid Perceptron 感知机input是多个二进制,output是一个二进制. graph LR ...

  4. iOS----------开发中常用的宏有那些

    OC对象判断是否为空? 字符串是否为空 #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || ...

  5. 使用混淆ProGuard压缩代码和资源/减少方法数量

    ProGuard介绍 ProGuard是一个Java类文件压缩器,优化器,混淆器和预先文件验证器. 压缩步骤检测和删除未使用的类,字段,方法和属性. 优化步骤分析和优化方法的字节码. 混淆步骤使用短无 ...

  6. Jmeter自带录制功能

    版本更新迭代较快的情况下,通过自动化进行冒烟测试以判断版本准入,在无接口文档的情况下,如果进行自动化?Jmeter有一个自带的录制功能,可以通过录制,获取各个接口设计情况,下面介绍如何进行使用 1.打 ...

  7. Linux 中如何避免 rm -rf /*

    Linux 的删除命令中 rm中没有回收站的概念,一旦文件被删除比较难还原.更可怕的是rm -rf /*,连自己都能删 这命令太危险了,弄错了就核爆了,带来的损失的巨大的.比如 Gitlab.com ...

  8. BitnamiRedmine配置邮件系统备忘

    前几天安装的Redmine邮件系统存在问题,需要换一个,方法记录如下: 修改配置文件: cd ~/redmine/apps/redmine/htdocs/config vi configuration ...

  9. SAP生产机该不该开放Debuger权限

    前段时间公司定制系统在调用SAP RFC接口的时候报错了,看错误消息一时半会儿也不知道是哪里参数数据错误,就想着进到SAP系统里面对这个接口做远程Debuger,跟踪一下参数变量的变化,结果发现根本就 ...

  10. Scrapy 解决Scrapy安装时报错"Microsoft Visual C++ 14.0 is required"

    问题描述 当前环境win10,python_3.6.1,64位.在windows下,在dos中运行pip install Scrapy报错:error: Microsoft Visual C++ 14 ...