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. golang语法学习(一):变量,常量以及数据类型

    学习一门新的语言肯定是要从他的主要的语法開始,语法构成了整个程序设计的基础,从语法中我们也能够看到这门语言的一些特性.可是话说回来.语法这东西,不同的语言大同小异,所以这也对语法的记忆造成了一定的难度 ...

  2. CALayer3-层的属性

    一.隐式动画属性 * 在前面几讲中已经提到.每个UIView内部都默认关联着一个CALayer,我们可用称这个Layer为Root Layer(根层). 全部的非Root Layer.也就是手动创建的 ...

  3. redis研究笔记

    本文链接:http://blog.csdn.net/u012150179/article/details/38077851 一. redis Redis is an in-memory databas ...

  4. js推断指定函数、变量是否存在的方法

    //推断是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof (eval(funcName)) == "functio ...

  5. HTML5.1就要来了

    原文来自https://www.w3.org/blog/2016/04/working-on-html5-1/ 总结一下几个点: 1.六个月内,也就是到九月份的时候,HTML5.1会和大家见面. 2. ...

  6. SQL 插入语句汇总

    INSERT VALUES 插入一行或多行到目标表中 -- single row INSERT INTO Sales.MyOrders(custid, empid, orderdate, shipco ...

  7. Python学习之路——函数

    一.Python2.X内置函数表: 注:以上为pyton2.X内置函数,官方网址:https://docs.python.org/2/library/functions.html 二.Python3. ...

  8. commons-logging \ log4j \ slf4j 之间的关系

    最近的一个web项目中要使用到日志,但是对常用的日志记录工具(框架)着实不是很理解,在此mark一下. 1.commons-logging.jar common-logging是apache提供的一个 ...

  9. Windows Phone 8初学者开发—第3部分:编写第一个Windows Phone 8应用程序

    原文 Windows Phone 8初学者开发—第3部分:编写第一个Windows Phone 8应用程序 原文地址: http://channel9.msdn.com/Series/Windows- ...

  10. 转:30分钟掌握STL

    三十分钟掌握STL 这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有 ...