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

Reading number is top 10 articles
对比两个DataTable是否相同的正确方法_[Asp.Net教程]
黑客攻破SQL服务器系统的十种方法_[SQL,Server教程]
c#(或vb.net)程序编码优化_[Asp.Net教程]
春节大盘点:.NET技术的回顾与展望_.net资料_编程技术
C#中GDI+变形的矩阵表示形式
php中退出while循环语句_php资料_编程技术
ASP.NET动态网页制作初学者备忘录_.net资料_编程技术
js变量作用域及可访问性的探讨_JavaScript技术_编程技术
简单介绍,ASP.NET,中的运算操作符_.net资料_编程技术
区别和认识.Net四个判等函数_.net资料_编程技术
Reading number is top 10 pictures
The world's top ten most beautiful railway station2
这才叫绝色美女1
鸡也看毛片
美女
采访谢楠
Summer is most suitable for young people to travel in China10
Sell the barbecue as says father du breul2
Breasts woman big set 2
NeedWallpaper5
到底是谁撞谁呀?
Download software ranking
WebService在.NET中的实战应用教学视频 → 第3集
网络管理员第三版
Tram sex maniac 2 (H) rar bag19
Ashlynn Video4
Tram sex maniac 2 (H) rar bag18
Sora aoi's film--cangkong_Blue.Sky
apache-tomcat-6.0.33
Jinling thirteen stock
Boxer's Top ten classic battle9
WebService在.NET中的实战应用教学视频 → 第1集
delv published in(发表于) 2014/1/16 9:27:11 Edit(编辑)
.NET,2.0正式版中无刷新页面的开发_[Asp.Net教程]

.NET,2.0正式版中无刷新页面的开发_[Asp.Net教程]

.NET 2.0正式版中无刷新页面的开发_[Asp.Net教程]


在已经发布的 ASP.NET2.0 中,无刷新页面开发相关部分同 beta2 有不少改动。而且在越来越多的 Ajax 开发包被开发出来的情况下, ASP.NET2.0 自带的无刷新页面技术没有被很多人了解,甚至不少人认为该功能有些“鸡肋”。但如果我们仅仅是在程序中加入很少部分的 Ajax 特性, Atlas 、 Ajax.Net 等就显得有些“杀鸡用牛刀”的感觉了。而且,我认为使用 ASP.NET2.0 提供的方法进行开发并不很复杂,相反,使用很少的代码就可以做出来很棒的效果!

  下面我来一步一步的带大家开发无刷新的页面!


  第一步:实现 ICallbackEventHandler 接口


  ICallbackEventHandler接口位于System.Web.UI命名空间下。在beta2时,ICallbackEventHandler只包含一个RaiseCallbackEvent方法,即处理回调事件,又返回处理结果。在正式版中,它变成了包含GetCallbackResult和RaiseCallbackEvent两个成员方法,第一个用来返回回调事件的结果,第二个用来出来回调事件。这个变化主要是为了编写Web控件而做的改动,具体可以看一下GridView等控件中的实现代码。


  建立一个 Web 网站,我们来修改 default.aspx.cs 文件:



以下是引用片段:
  1 public partial class _Default : System.Web.UI.Page, ICallbackEventHandler
  1 private string str;
  2 public void RaiseCallbackEvent(string eventArgument)
  3 {
  4 //可以根据传递的参数不同,调用不同的处理逻辑
  5 str = "从服务器端返回的内容:" + eventArgument;
  6 }
  7
  8 public string GetCallbackResult()
  9 {
  10 return str;
  11 }
  12


  第二步:注册回调方法


  我们在 default.aspx 页面中添加一个 TextBox ,一个 Label 和一个 Html 控件 Button ,并给 Button 添加 onclick 事件:



以下是引用片段:
1
2 onclick="CallServer(TextBox1, Label1)"/>

3
4



以下是引用片段:
1

16


  好了,一个无刷新的页面就开发完了,它可以将你在 TextBox 中输入的文字,通过服务器代码写回到页面的 Label 中。是不是很简单?你可以运行一下你的程序看看效果啦!


  下面我们来分析一下这些代码。


  首先,我们看



以下是引用片段:
<%= ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context")%>;



ClientScript是System.Web.UI.Page对象的一个属性,它是System.Web.UI.ClientScriptManager对象。用于管理客户端脚本,GetCallbackEventReference方法用于注册一个服务器端事件的客户端回调。它的第四个参数“Context”非常重要,但在MSDN中并没有相关的例子和详细的说明。在我上面给的代码中可以看到,调用CallServer方法时,传递的Context参数就是Label1,而ReceiveServerData的第二个参数“Context”就是被传递过来的Label1。在我的例子中,Context被我用于设定一个用来显示服务端返回结果的控件。其实,你可以将任意的对象赋值给Context,它都会被传递给本地端处理回调返回结果的函数,这样,你就可以根据调用前指定的“上下文”灵活的操作返回结果了!在我给出的完整例子中,你可以看到一个使用Context做的无刷新显示GridView的例子。


  在这里我要说个题外话,Context这么重要的参数在MSDN中不但没有详细的说明,而且VS2005中文正式版MSDN中关于回调的例子竟然还是beta2时的实现!这个版本的MSDN可以说是我用过的版本中品质最差的。不过现在的MSND可以用“相当”庞大来形容,出错也是在所难免的,希望下个版本的MSND会好一些。


  OK,在ASP.NET 2.0中开发具有Ajax特性的东东不难吧!其实就是两步:


  1、 在Server端实现ICallbackEventHandler接口,在接口包含的方法中根据传递的参数分别调用不同的处理方法,然后返回结果;


  2、 在Client端注册回调函数(当然你也可以在Server端注册),然后实现处理回调结果的函数。其中,如果对Context能干灵活运行,你就可以做出非常好的效果了。


  在我给出的完整例子中,你们可以看到更完整的处理逻辑和更漂亮的特效,当然,增加的代码还是很少的!


  有将近一年没有写Blog了,手也比较生了。以前cnblogs的文章我是基本上天天都看的,现在一两个星期看一次就不错了,还是走马观花的浏览几篇而已。如今每天都是为了生活而奔波,人在江湖,身不由己呀!


  发了半天牢骚,我也预告一下,我会在最近写一些介绍Atlas的文章。其实Atlas也有很多人都写过了,不过大都是根据官方文档的模式写的,而最近发布的几版CTP变化挺大的(实现的功能也比较诱人!),对新特性介绍的文章比较少,所以我就来献丑了,希望对大家使用Atlas有所帮助。


来源:网络







添加到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.