惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
宝玉的分享
宝玉的分享
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
P
Privacy International News Feed
T
Threatpost
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
NISL@THU
NISL@THU
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
Know Your Adversary
Know Your Adversary
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
Intezer
博客园 - Franky
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
The Hacker News
The Hacker News
K
Kaspersky official blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tailwind CSS Blog
Project Zero
Project Zero
T
Tor Project blog
B
Blog RSS Feed
Recorded Future
Recorded Future
Scott Helme
Scott Helme
美团技术团队
V
V2EX
V
Visual Studio Blog
L
Lohrmann on Cybersecurity
P
Proofpoint News Feed
D
DataBreaches.Net
The Register - Security
The Register - Security
M
MIT News - Artificial intelligence
L
LangChain Blog
Cisco Talos Blog
Cisco Talos Blog
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园_首页
P
Privacy & Cybersecurity Law Blog

博客园 - tf.li

清理MVC4 Internaet 项目模板清理 SQL2014 尝试读取或写入受保护的内存。这通常指示其他内存已损坏 nodejs 环境配置技巧 mongdb window 服务安装批处理 bower 安装后 jade 引用404问题 我的Prototype模式框架 转自CnBeta 令人深思 [译稿]为什么我们不要 .NET 程序员 我修改的IP地址掩码 呵呵~~开心 Ext.Ajax.request 传值问题 从小做大之一---------一切从建模开始 [求助]关于文本行转列的疑问~~ To Terrylee 我的设计模型之小议工厂模式 我的设计模型之装饰者模式 我对线程池的一点理解 面向接口编程之惑 第二版 面向接口编程之惑 我的设计模型之适配器模式 我的设计模型之简单工厂
JSON.NET、WebService与JQuery协同工作
tf.li · 2011-09-16 · via 博客园 - tf.li

  最近换了新公司,暂时还没有开发项目,但是我一向都是为未来项目的做准备的有木有??今天主要研究WebService,与JQuery,还有JSON.NET这三样利器,看到网上JSON.NET的文章不多,所以想发上来大家看看,自己记录一下,不多废话,开始我们的旅程。

  首先下载JSON.NET Codeplex http://json.codeplex.com/

  下载后解压,找到Bin文件夹 ,里面有各种的版本,貌似支持WindowPhone的版本。我们这里选用的2.0的版本

在项目中添加dll的引用:

JSON.NET引用完毕后,开始我们今天的工作.

直接引用新建Web应用程序中的Default.apx,备注:添加JavaScript应用,需要JQuery 1.6.4

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript" src="JScript/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
var Handler = function() {
$.ajax({
type:
"post",
datatype:
"JSON",
data:
"{Name:'Edison',Pass:'123'}",
contentType:
"application/json;charset=utf-8",
url:
"ServiceOne.asmx/HelloWorld",
success:
function(data) {
debugger;
var result = $.parseJSON(data.d);
var StrResult=String('');
for (var i = 0; i < result.length; i++) {
StrResult
+= "姓名:" + result[i].Name + ",密码:" + result[i].Pass + "<br>";
}
$(
'#div2').html(StrResult);
},
error:
function(e) {
debugger;
alert(e);
}
});
};
$(document).ready(
function() {
$(
"#div1").bind('click', Handler);
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="div1">
123
</div>
<div id="div2">
456
</div></form>
</body>
</html>

前台页面完成了,后台代码怎么样写呢??

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using Newtonsoft.Json;namespace WebApplication1
{
/// <summary>
/// ServiceOne 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo
= WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(
false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class ServiceOne : WebService
{

[WebMethod(EnableSession

= true)]
public String HelloWorld(String Name,String Pass)
{
List
<TomoUser> tomoUsers=new List<TomoUser>();
TomoUser user
=new TomoUser();
user.Name
= Name;
user.Pass
= Pass;
TomoUser user2
= new TomoUser();
user2.Name
= Name + "1";
user2.Pass
= Pass + "1";
tomoUsers.Add(user);
tomoUsers.Add(user2);
String s
= JsonConvert.SerializeObject(tomoUsers,Formatting.Indented);
return s;
}
}
}

到此处我们的JSON.NET与JQuery已经可以正常协同工作了,还是比较给力的.

这样做有几个有点:

1.ASMX可以根据方法区分开所获取的数据,不需要建立那么多.ashx文件.

2.JSON格式确实比较犀利(之前我总是做WinForm 今天算重回Web领域,发现还是Web好啊!!!)

备注:以上文章是我个人的总结,希望不要被喷,如果有更好的方式或者方法,可以告诉我咱们一些研究下,因为马上Web项目要用,所以自己做了些浅显的研究,没有做个压力测试,没有真正在项目上面使用过,希望各位使用时候要慎重,注意项目风险。