http://www.ext.net.cn/forum.php?mod=viewthread&tid=1282&highlight=directmethod

DirectMethod 提供了一种直接在客户端 JavaScript 代码中调用服务器端 .Net 方法的功能。

用 [DirectMethod] 属性来修饰服务器端 public 或 public static 属性的方法,会向客户端 JavaScript 代码“公开”服务器端方法。

注意:服务器端方法必须用 public 或 public static 修饰符。

1 DirectMethod 基础

  1. <ext:Button runat="server" FieldLabel="DirectMethod:" Text="走起">
  2. <Listeners>
  3. <Click Handler="Ext.net.DirectMethods.Hellotoday();" />
  4. </Listeners>
  5. </ext:Button>

  1. [DirectMethod]
  2. public void Hellotoday()
  3. {
  4. X.Msg.Alert("今天是个好日子!", "新的一天新的开始哦!GOGOGO!").Show();
  5. }

运行结果:
说明:在 Button客户端事件里,调用服务器端方法 Hellotoday来弹出消息框

2 从 DirectMethod 返回一个字符串
DirectMethod 会返回任何类型的对象。该对象序列化后,作为 result 参数发送给在 DirectMethod 中配置的回调函数success(DirectMethod 方法成功时的客户端处理函数)。

  1. <h3>从 DirectMethod 返回一个字符串</h3>
  2. <ext:Button  runat="server" FieldLabel="获取时间" Text="点我">
  3. <Listeners>
  4. <Click Handler="
  5. Ext.net.DirectMethods.getServerTime({
  6. success: function (result) {
  7. Ext.Msg.alert('Server Time', result);
  8. }
  9. });" />
  10. </Listeners>
  11. </ext:Button>

  1. [DirectMethod]
  2. public string  getServerTime()
  3. {
  4. return DateTime.Now.ToLongTimeString();
  5. }

运行结果:说明:在 Button 客户端事件中,Ext.net.DirectMethods.getServerTime(…) 是在客户端调用服务器端的方法getServerTime,success 是 Ext.net.DirectMethods 配置的回调函数,,当服务器端方法成功返回时,客户端需要根据返回值执行的cao作。本例中,如果服务器端方法 getServerTime() 成功返回服务器端当前时间,则客户端弹出这个时间提示。

3 给 DirectMethod 传递多个参数

  1. <ext:Button ID="Button1" runat="server" Text="Submit" Icon="Lightning">
  2. <Listeners>
  3. <Click Handler="Ext.net.DirectMethods.Str('十一','22','男');" />
  4. </Listeners>
  5. </ext:Button>

  1. [DirectMethod]
  2. public void Str(string name, int age, string sex)
  3. {
  4. string temp = "我叫" + name + ",今年" + age + "岁了," + s + "的";
  5. X.Msg.Alert("个人信息", temp).Show();
  6. }

运行结果:说明:如果服务器端 [DirectMethod] 方法要求参数,那么也要客户端 DirectMethod 传递给它相应的参数。本例中,如果服务器端要求三个参数:2个sting 和 int,那么在客户端也要传递三个可靠的参数给服务器端的[DirectMethod] 方法。

参考CSDN博客,跟多精彩,移步http://www.cnblogs.com/liuning8023/archive/2012/04/20/2460629.html

Ext.net.DirectMethods的更多相关文章

  1. Ext.Net学习笔记07:Ext.Net DirectMethods用法详解

    使用DirectMethods在JS中调用C#方法 我承认,这个标题有点噱头,其实应该是通过DirectMethods,在JS中通过异步调用的方式执行服务器端的方法. 来看一个例子吧: [Direct ...

  2. 【Ext.Net学习笔记】03:Ext.Net DirectEvents用法详解、DirectMethods用法详解

    Ext.Net通过DirectEvents进行服务器端异步的事件处理.[Ext.Net学习笔记]02:Ext.Net用法概览.Ext.Net MessageBus用法.Ext.Net布局 中已经简单的 ...

  3. Ext.Net常用方法

    1.js(Ext)操作 Ext.Msg.alert('系统提示', '未连接血站,该功能暂时不能使用.'); Ext.getCmp("id").getValue();Ext.get ...

  4. Ext.net 异常统一管理,铥掉可恶的 Request Failure

    Ext.net 异常统一管理,铥掉可恶的 Request Failure 看着这样的框框是不是很不爽 灭他.也不难.. .如果全部页面都有继承一个自定义的父类 ..那整个项目代码量就只有几行了.. 单 ...

  5. Ext.Net TextField Enter事件

    (1)DirectEvents触发后台 <ext:TextField ID="txt_Upc" runat="server" Width="15 ...

  6. Ext 随笔

    /-------------------------//清空panel等后面空白属性//------------------------- baseCls:"x-plain" // ...

  7. Ext.Net 使用总结之GridPanel的删除事件

    1.关于Ext.net中GridPanel的删除事件 首先是GridPanel,如下: <ext:GridPanel ID="GridPanel1" runat=" ...

  8. [Ext.Net]TreePanel 异步加载数据

    异步加载数据指的是页面加载的时候只显示根目录,点击根目录再去加载其子目录. 下面就来介绍下这种异步加载的树结构要怎么实现 现将例子的图 QQ图片20131225134353.jpg (12.1 KB, ...

  9. asp.net webform中的ext.net使用

    ext.net是对ext.js进行封装的net控件库,能够砸webform 和mvc中使用,从今天器我会对这一年多的ext.net开发进行一些对应的总结. 首先针对ext.net进行引用: <% ...

随机推荐

  1. jdbc操作步骤和preparedStatment相比Statment的好处

    java操纵数据库封装了一组API,通过这组API可以透明的操作各种数据库,一般来讲,操纵数据库的步骤是: 一. try{ 1.加载数据库驱动 Class.forName("数据库驱动类&q ...

  2. Bitmap recycle()

    Bitmap调用recycle? When? Bitmap有一个recycle方法,意思非常easy,回收Bitmap的空间. Q 1: Bitmap是否有调用recycle方法的必要性? A: 嵌入 ...

  3. 初学MVC

    学习MVC基础:C#. ADO.NET .html.javascript.ASP.Net .WebFrom MVC模式两种理解:一种是表现模式,另一种是架构模式.它将应用程序分成三个主要的组件:视图( ...

  4. ThinkPHP第十天(_initialize方法,SESSION销毁,分组配置,include文件引入,JOIN用法)

    1.Action类中的_initialize()函数,先于任何自定义操作函数运行,可认为是控制器的前置操作.可用于检测用户是否登录等检测. 如果多个模块(Action)需要相同_initialize( ...

  5. python2.7_1.3_获取远程设备的IP地址

    代码如下: # -*- coding: utf-8 -*- import socket def get_remote_machine_info(): remote_host = 'www.python ...

  6. r语言之生成规则序列,规则序列函数及用法

    在生成序列时,“:”的优先级最高 (1)从1到20的整数序列: > 1:20 [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (2) ...

  7. 使用python操作RabbitMQ,Redis,Memcache,SQLAlchemy 其一

    一.概念 1.Memcached     Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态 ...

  8. 安装duetdisplay遇到的问题

    1.报错failed to correctly acquire vcredist_x64.exe ifle:CRC error 已经确认了 和墙有关系,通过FQ可以正常安装了. 2.在PAD屏幕上面播 ...

  9. IT第七天 - 类及其属性、方法的理解,断点调试初识,代码优化总结,编程逻辑培养

    IT第七天 上午 类 1.对象:是多个实体抽象出来的共同点集合,对象包括:属性(即实体的特征).方法(即尸体的功能作用) 2.程序中,用类来模拟对象 3.类是抽象的,是对象的类型,是将多个拥有相同属性 ...

  10. C#实现多人语音聊天

    在上一篇文章 实现一个简单的语音聊天室(多人语音聊天系统)中,我用C#实现了一个简单的语音聊天室,并给出了源代码下载.尽管有源代码,可是非常多朋友反映,理解起来还是有些模糊.不够清楚.如今想来,是由于 ...