All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
有理有力:个人网站的出路在于细分市场_JavaScript技术_编程技术
SQL数据库高级教程:学习 SQL JOIN_[SQL Server教程]
谈谈个人地方分类网站的推广和赢利_JavaScript技术_编程技术
ASP.NET中如何从视频文件中抓取一桢并生成图像文件_.net资料_编程技术
结合ASP.NET与javascript开发电子沙盘_.net资料_编程技术
C#网络应用编程基础练习题与答案(十)_[Asp.Net教程]
C#:从DataGridView控件托放数据到TreeView控件_[Asp.Net教程]
SQL循序渐进(5)-------插入数据到表_[SQL,Server教程]
C#图像放大问题解决方法_.net资料_编程技术
VS2008的Linq,更新数据就那么费劲?_.net资料_编程技术
Reading number is top 10 pictures
福利是必须的
赵惟依写真3
Get girl by your hand
湖边的风景
青春清纯美女大集合1
中国的十元人民币的秘密
The real super beauty5
Ashlynn Brooke show proud chest measurement2
Beautiful vacuum girl2
From China fortress sora aoi2
Download software ranking
C语言教程TXT
虚拟机5.5.3版
Eclipse 4.2.2 For Win32
豪门浪荡史
尖东毒玫瑰A
The Bermuda triangle1
Sora aoi - one of more PK
SP3 for SQL2000
双旗镇刀客A
Sora aoi 120 minutes
delv published in(发表于) 2014/1/6 9:10:50 Edit(编辑)
在ASP.NET,Atlas中调用Web,Service—直接在ASPX页面上暴露Web,Metho_[Asp.Net教程]

在ASP.NET,Atlas中调用Web,Service—直接在ASPX页面上暴露Web,Metho_[Asp.Net教程]

在ASP.NET Atlas中调用Web Service—直接在ASPX页面上暴露Web Metho_[Asp.Net教程]























作者:Dflying Chen(http://dflying.cnblogs.com/)
前面的一系列的文章都是直接调用单独的一个Web Service,而在实际项目开发中,特别是在对现有的项目转换中,把页面中的逻辑再提取到专门的Web Service中往往会带来相当多的工作。Atlas充分考虑到了这一点,允许您将服务器端的public方法加上[WebMethod]属性以允许客户端JavaScript的直接调用。




想允许客户端直接调用定义在ASPX页面中的方法,您需要指定该方法为public,并且添加[WebMethod]属性,例如如下定义在ASPX文件中的服务器端方法:










在客户端,Atlas将为您Mashup出一个AddInt的JavaScript方法,存在于一个特殊的命名空间PageMethods中,这样您就可以通过PageMethods.AddInt()调用上面的方法了。
同时,将WebMethod定义到ASPX页面中,您还可以在该方法中访问一切页面上的服务器端控件的值和ViewState,并且整个页面的的生存周期将和传统的ASP.NET页面PostBack一样,诸如Page_Load等方法均会被调用,可以让我们对页面有更强的访问能力。不过这样也带来了性能上的折扣,因为每次调用Web Method的时候都会把页面上的ViewState和控件的值传回给服务器,并且服务器端处理整个页面的生存周期将要比仅仅处理一个纯粹的定义在ASMX中的Web Method要复杂的多。所以这里我推荐尽可能的使用纯粹的Web Service,请参考:在Atlas服务器端实现中推荐使用Web Service而不是Page Method。




下面来看一个实例,首先来定义在ASPX中的WebMethod,可以看到这里不单单求两个数的和,还访问了一个页面上的服务器端TextBox的值:










然后是页面的ScriptManager,这里无需添加任何引用了:
然后两个用来输入加数的input以及用来触发服务器调用的input:






onclick="return btnAdd_onclick()" />
还有一个服务器端TextBox:





最后是JavaScript调用,注意PageMethods这个内建的命名空间:




function btnAdd_onclick() {
PageMethods.AddInt(
('value1').value,
('value2').value,
OnComplete
);
}
function OnComplete(result)
{
alert(result);
}
浏览器中运行,输入两个加数,然后在Server端的TextBox中输入一些字符,点击Add,可以看到Server端的TextBox的值却是被访问到了:





这是Fiddler截获的网络传输,可以看到ViewState和TextBox都被传回了Server:












































添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.