ASP.net Joyrock异步应用示例、JSON-RPC使用方法

原创 2015年05月20日 16:51:40

使用Joyrock 需要先引用Jayrock.dll,Jayrock.Json.dll两文件,另外在web页面引入json.js文件(不在同一个地方下载的json.js可用不了),

.net 后台文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Jayrock.Json;
using Jayrock.JsonRpc;
using Jayrock.JsonRpc.Web;

namespace Exam.Jayrock
{

    public class Handler1 : JsonRpcHandler
    {
        /// <summary>
        /// 未带参数
        /// </summary>
        /// <returns></returns>
        [JsonRpcMethod("getstring1")]
        public string getstring1()
        {
            return String.Format("Welcome to Jayrock by {0}!",DateTime.Now );
        }
        /// <summary>
        /// 带参数
        /// </summary>
        /// <param Name="str">The string.</param>
        /// <returns></returns>
        [JsonRpcMethod("getstring2")]
        public string getstring2(string str)
        {
            return String.Format("Welcome to Jayrock by {0}!", str);
        }
        [JsonRpcMethod("addEntity")]
        public int addEntity(JsonObject ent)
        {
            new Entity("demo").addEntity(ent);
            return 1;
        }
        [JsonRpcMethod("updateEntity")]
        public int updateEntity(JsonObject ent) 
        {
            new Entity("demo").updateEntity(ent);
            return 1;
        }
        [JsonRpcMethod("delEntity")]
        public int delEntity(int id)
        {
            new Entity("demo").delEntity(id);
            return 1;
        }
        [JsonRpcMethod("getEntityList")]
        public List<JsonObject> getEntityList(string where)
        {
            return new Entity("demo").getEntityList(where);
        }
    }
}

前台调用页面

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>demo</title>
    <script src="json.js" type="text/javascript"></script>
    <script type="text/javascript" src="Handler1.ashx?proxy"></script>
    <script>
        var demo = new Handler1();
        
        function syncGetString1()
        {
            alert(demo.getstring1());
        }
        function asyncGetString1()
        {
            demo.getstring1(function (val){
                alert(val.result);
            })
        }
        function syncGetString2()
        {
            var str = "voodooer";
            alert(demo.getstring2(str));
        }
        function asyncGetString2()
        {
            var str = "voodooer";
            demo.getstring2(str,function (val)
            {
                alert(val.result);
            })
            alert("我执行完了:)");
        }
        function addEntity()
        {
            var Entity = Object();
            Entity.Name = "voodoer";
            Entity.Sex = "男";
            var result = demo.addEntity(Entity);
            if (result > 0) { alert("添加实体成功!");}
        }
        function updateEntity()
        {
            var Entity = Object();
            Entity.ID = 1;
            Entity.Name = "voodoer";
            Entity.Sex = "男";
            var result = demo.updateEntity(Entity);
            if (result > 0) { alert("更新实体成功!"); }
        }
        function delEntity()
        {
            
            var result = demo.delEntity(1);
            if (result > 0) { alert("删除实体成功!"); }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <p>测试getstring1</p>
        <input type="button" id="btn1"  value="同步调用" onclick="syncGetString1()"/>
        <input type="button" id="btn2"  value="异步调用" onclick="asyncGetString1()"/>
        <hr />
        <p>测试getstring2</p>
        <input type="button" id="Button1"  value="同步调用" onclick="syncGetString2()"/>
        <input type="button" id="Button2"  value="异步调用" onclick="asyncGetString2()"/>
        <hr />
        <p>测试Entity</p>
        <input type="button" id="Button3"  value="addEntity" onclick="addEntity()"/>
        <input type="button" id="Button4"  value="updateEntity" onclick="updateEntity()"/>
        <input type="button" id="Button5"  value="delEntity" onclick="delEntity()"/>
        <hr />
    </div>
    </form>
</body>
</html>


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

关于ASP.net - Jayrock:序列化与反序列化

看过Ext - EditGridPanel实现效果的朋友会很惊讶,一个Grid就能实现所有增删改查功能。在展示给客户看时,让你的表现得很风骚。而他们又怎么知道,我们在调试js时,是多么痛苦。    ...

CSRF spring mvc 跨站请求伪造防御

CSRF CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者X...

web安全之跨站请求伪造

CSRF(Cross-site request forgery),中文名称:跨站请求伪造. 因为这个不是用户真正想发出的请求,这就是所谓的请求伪造;因为这些请求也是可以从第三方网站提交的,所以前缀跨站...
  • kkdelta
  • kkdelta
  • 2013年12月23日 14:34
  • 23681

关于ASP.net - Joyrock:异步应用示例、JSON-RPC了解

今天无意看到 Joyrock 及 JSON-RPC 关键字眼;貌似没听说过,搜索一下大概了解了一下。在网上找到了相关dll、js文件;并动手建了个web项目,写了个简单例子;以便看客直接进入实战。 ...

WPF几何绘图(三)画弧线

WPF几何绘图(三)画弧线ArcSegment 类来表示两点之间的一条椭圆弧。他表示的是椭圆上的一段弧线。使用 PathFigure 对象存储 ArcSegment 对象和其他线段。一条椭圆弧由下列元...
  • wwei466
  • wwei466
  • 2009年03月19日 08:37
  • 6942

WPF中图形表示语法详解(Path之Data属性语法)

大可山 [MSN:a3news(AT)hotmail.com] http://www.zpxp.com 萝卜鼠在线图形图像处理-------------------------------------...
  • johnsuna
  • johnsuna
  • 2007年11月14日 20:10
  • 38898

关于ASP.net - Joyrock:异步应用示例、JSON-RPC了解

今天无意看到 Joyrock 及 JSON-RPC 关键字眼;貌似没听说过,搜索一下大概了解了一下。在网上找到了相关dll、js文件;并动手建了个web项目,写了个简单例子;以便看客直接进入实战。 ...

asp.net KindEditor 4.1.10 使用方法

  • 2014年02月28日 09:25
  • 1.12MB
  • 下载

译文:使用MVC5的Entity Framework 6入门(九)——为ASP.NET MVC应用程序使用异步及存储过程

为ASP.NET MVC应用程序使用异步及存储过程这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.net Joyrock异步应用示例、JSON-RPC使用方法
举报原因:
原因补充:

(最多只允许输入30个字)