在.NET里,客户端与服务端进行数据交互我想大多数朋友都遇到过这样的问题,语言不同,又怎么来实现交互呢.客户端的
JavaScript是弱类型语言,服务端是强类型语言(如:C#,VB.NET,VC++,J#等).两个不同语言之间的交互是不是要借助于别的东西
呢.我在这里可以告诉大家的是:答案不一定,但是借助别的东西的话是肯定可以达到数据交互的.比如ASP.NET
AJAX框架他就支持.下面我将给大家简单介绍下.
我在这里举一个放大层(div)的示例来说明:
先建立一个ASP.NET AJAX项目(前提是你电脑上必须先安装ASP.NET AJAX框架),可以到http://ajax.asp.net去下载.
首先我门来定义一个类:arr,提供两个成员分别为height,width,一个构造方法arr(int height,int width).
publicclassarr
{
privateintheight;
publicintHeight
{
get{returnheight;}
set{height=value;}
}
privateintwidth;
publicintWidth
{
get{returnwidth;}
set{width=value;}
}
publicarr(inth,intw)
{
this.Height=h;
this.width=w;
}
}
用面向对象来说的话arr现在可以看作为一个对象,而height,width则是arr对象的两个成员,因为我门为其他定义了属性(get,set),所以Height,Width则是arr对象的两个属性.这里说我想大家应该可以看懂吧.
接着我门来建立一个Web Service(别告诉我你不知道Web Service是什么?):WebService.asmx,因为此Web Service要提供给客户端调用,我门必须为其提供[ScriptService],即:
[ScriptService]//
publicclassWebService:System.Web.Services.WebService
{
//..
}
然后我门在Web Service里定义一个方法wh(int height,int width),并为其提供两个参数,既图片的高度和宽度.
[WebMethod]//为方法提供[WebMethod]以让外部可以调用.
publicarrwh(intheight,intwidth)
{
arrar=newarr(height,width);
returnar;
}
到这里,我门的服务器就准备得差不多了,现在我门来看看客户端的JavaScript该怎么定义呢?
我门建立一个ASP.NET窗体Default.aspx,并从工具箱里拽一个ScriptManager控件在这窗体上.然后转到html视图.编辑该
控件的html源,该攻坚的ServiceReference 后的Path指向前面我门建立的Web
Service,后面的InlineScript可以不要,不熟悉的朋友可以直接不管他,他的作用是在客户端显示生成的代理,详细见下:
<asp:ScriptManagerID="ScriptManager1"runat="server">
<Services>
<asp:ServiceReferencePath="WebService.asmx"InlineScript="true"/>
</Services>
</asp:ScriptManager>
接着我门写一个div,并为其设置好背景图片,这样做的好处是当div很小的时候 就只能显示一小块图片,当div的大小改变后则显示图片就相对要大写,因为是设置的背景图片,背景图片为随着容器的大小自动适宜扩充.
<divstyle="width:100px;height:100px;background-color:red;background-image:url(1.jpg);"id="ss">
学习过AJAX的朋友我想都知道,他的执行:发送请求--响应请求--返回消息--处理消息.
那下面我门就来着手写客户端的JavaScript来调用Web Service,向其发送请求并处理返回数据.
<scripttype="text/javascript">
functionsendRequest()
{
WebService.wh(300,300,CallBack);//这里是指调用WebService下的wh()方法,CallBack为方法的回调函数
}
functionCallBack(result)
{
varss=$get("ss");//$get()为ajax里的关键字缩写,他等同于document.getElementById()方法
ss.style.height=result.Height;
ss.style.width=result.Width;
}
</script>
接着我门来调用JavaScript的sendRequest()向服务端的Web Service发送请求.
<inputid="Button1"type="button"value="button"onclick="sendRequest();"/>
好了,到这里我门的服务端-客户端代码都实现了.我门来运行下试试.
当然个编辑器里是不提供运行功能的哈,具体的效果大家可以照着我上述做个demo来看看就清楚.
下载程序示例代码
分享到:
相关推荐
AjaxJavaScriptToWebService JavaScript通过Web Service实现AJAX无刷新数据交互
JavaScript与Web Service组和实现Ajax五刷新通信(扩展)
Android加载assets里的html并实现WebView与JavaScript的交互
IOS加载bundle里的html并实现WebView与JavaScript的交互
交互式Web前端开发》欢迎选择一种更高效的学习JavaScript和jQuery的方式。你是一名JavaScript新手?或是您曾经向自己的Web页面上添加过一些脚本,但想以一种更好的方式来实现它们?本书非常适合您。《JavaScript&...
用JavaScript实现Web页交互性
asp.net javascript 实现无刷新提交
JavaScript jQuery交互式Web前端开发
品名:JavaScript & jQuery交互式Web前端开发.rar 用途:前端开发人员及javascript 与 jQuery 铁粉珍爱学习资料,web前端开发或学习爱好者不可多得的学资料,本教程出自清华大学出版社,内容十分受用,喜欢技术研究...
更高效的学习JavaScript和jQuery,快速成为一名Web前端工程师,零基础快速掌握 作者:(美)达科特(Duckett, J.)出版社:清华大学出版社 第1章 编程基础知识 第2章 JavaScript基础指令 第3章 函数、方法与对象 第4章 ...
此源代码,主要讲述如何将JavaScript和jQuery与html、css技术相结合,开发交互性强的网页,适用刚刚入门的小伙伴。
JavaScript & jQuery交互式Web前端开发_PDF电子书下载 高清 带索引书签目录_(美)达克特著_北京:清华大学出版社
DWR js框架 javascript框架 web与java交互 Direct Web Remoting Ajax开源框架 即有java源码又有dwr.jar包 有实现步骤及演示源码
这东西比你想象的要难找,用的时候,怎么也找不到,闲来放出来
本示例是用微软提供的webservice.htc来完成的,当然用ASP.NET AJAX也能实现,但该示例全部是JAVASCRIPT来做的,简单明了.
avascript与c#后台交互 1.在后台c#代码中调用jacascript的方法 javascript代码: <script type="text/javascript" language="javascript"> function test() { alert("oec2003"); return false; } c#代码: ...
《JavaScript & jQuery 交互式Web前端开发.pdf》2015年的书,彩版
javascript实现的无刷新弹出登录窗口
通过将编程理论与用来演示JavaScript和jQuery如何被应用于流行站点之上的示例相结合,本书将教会您如何让网站更具交互性、吸引性、可用性。很快,您就能够像一名程序员那样去思考和编写代码了。
交互式Web前端开发》欢迎选择一种更高效的学习JavaScript和jQuery的方式。你是一名JavaScript新手?或是您曾经向自己的Web页面上添加过一些脚本,但想以一种更好的方式来实现它们?本书非常适合您。《JavaScript&...