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. poj2492 A Bug's Life【基础种类并查集】

    转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4298148.html   ---by 墨染之樱花 题目链接:http://poj.org/pr ...

  2. [译]SSIS 通过环境变量配置数据源连接参数

    场景 希望在包执行的时候可以随意选择参数,这时候我们可以用环境变量 . 另外所有包都可以用环境变量,有大量包的时候就比较方便. Step 1: 创建SSIS包 在Data Flow Task里面创建 ...

  3. iOS开发 点击跳转到App Store 或者 点击按钮去评价

    //跳转到应用页面 NSString *str = [NSString stringWithFormat:@"http://itunes.apple.com/us/app/id%d" ...

  4. ecplise启动tomcat异常

    由于myeclipse为正常关闭,导致下次启动时抛出异常:类似于无法加载异常缓存的内容之类... 处理办法: 1.关闭myeclipse 2.找到工作空间/.metadata/.plugins/ 3. ...

  5. 【转】Nginx+Tomcat搭建高性能负载均衡集群

    最近对负载均衡比较感兴趣,研究了公司的负载均衡的配置,用的是阿里的SLB,相当于不用运维,只需要在后台进行简单的配置就能完成Tomcat的负载均衡,索性在网上找了几篇文章去尝试搭建一个集群,然而很多都 ...

  6. ansible不配ssh连接,用户密码登录

    ansible 不配ssh免密链接,直接用ssh用户密码连接,要先装sshpass. 否则会报错: sshpass安装 sshpass下载地址:http://sourceforge.net/proje ...

  7. is,as,sizeof,typeof,GetType

    这几个符号说来也多多少少的用过,今天就根据ProC#的讲述来总结一下:   1. IS:    检查变量类型是否与指定类型相符,返回True ,False.不报错.    老实说,我没怎么用过.看看下 ...

  8. OpenGL ES 正反面设置指令

    在OpenGL ES 中,仅有一种表面网格表示方式,那就是三角形. 三角形的三个顶点,可以组几个面?有答 1 的没有?有!那就是还不懂OpenGL ES 的我. 事实上,一张纸是有正反面的,那么一个三 ...

  9. NET Core 环境搭建和命令行CLI入门

    NET Core 环境搭建和命令行CLI入门 2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文 ...

  10. [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu)

    原文 [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) 周银辉 点击窗口左上角图标时弹出来的菜单也就是这里所说的系 ...