科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件探讨微软ASP.NET AJAX控件开发技术(服务器端)

探讨微软ASP.NET AJAX控件开发技术(服务器端)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在上篇中,我们已经讨论了开发Ajax控件所涉及的客户端相关技术。接着,在本文,我们来讨论此过程中与服务器端相关的一些技术。

作者:朱先忠 来源:51CTO.com  2007年11月19日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

(三)创建客户端JavaScript代码

这里创建的客户端控件类相应的JavaScript文件ImageButton.js在内容上完全相同,只不过为了区别起见,我们进行了某些地方的重新命名罢了。在此不再赘述。

(四)在示例网页中应用构建的新控件

以鼠标右击前面网站AjaxServCtrlTest,把它设置为“启动项目”。事实上,因为这个网站工程与前面的类库工程创建于同一个方案下,所以,在前面生成程序集AjaxImageButtonLib.dll的一结束,新建的服务器控件就被自动添加到Visual Studio 2005工具栏中,如下图3所示。于是,我们可以直接把这个控件拖动到示例网页Default.aspx中。

图3:拖动新建的服务器控件到示例网页中

根据前面的控件代码实现,不出所料,点击上图3中的图形按钮控件,即可在其相应的“属性”对话框中设置这个控件的hoverImageUrl属性,而且指定其ClientClickFunction方法(其实正是此控件的click事件处理器函数指针)。

注意,因为控件代码中的方法GetScriptReferences已经为我们自动生成了前面提到的$create方法,所以我们不需要再在ScriptManager中注册在本篇中创建的JavaScript文件—SrvImageButton.js了。

(五)运行及性能简析

现在,请按F5键运行此页面并移动鼠标到图像按钮上观察,你会注意到结果与上篇中的效果一致(即在鼠标移动切换新图像时,这些动作都发生于客户浏览器端而不再与服务器端相关)。下图4相应于此示例页面运行时刻快照。

图4:示例网页运行时刻屏幕快照

通过以鼠标右击网页并选择弹出菜单中的“查看源文件”观察上、下篇中示例页面相应的源码,我们会注意到其内容基本是一致的。另外,通过使用Fiddler观察这两个示例页面下载到客户端时各模块的大小,你也会注意到基本一致,如下面图5所示。

图5:两个示例页面下载到客户端时各模块大小比较

因为本文两个例子极为简单,所以其性能基本平衡。但随着服务端编程的复杂化,本篇中基于服务器端控件的扩展方案应该有较大的性能损耗。但应该仍具有令人满意的效果,这也正是AJAX Control Toolkit控件数量急剧增加的重要原因之一。而上篇中的方案基于“纯粹”(相对而言)的客户端,即使性能上与本篇中方案相差无几,但是却明显多出了跨越服务器端平台的优势,这也正是上篇中方案吸引人的主要原因。

六、总结

虽然以上、下两个篇幅形成此文,但是这也仅能通过简短的例子向你阐述了开发ASP.NETAJAX框架中的Ajax控件所涉及的主要技术。尽管目前的ASP.NET AJAX框架已经形成正规的1.0版本,而且这个框架为基于AJAX技术开发以ASP.NET 2.0为主的Web应用提供了全方位支持,但是这个框架仍然在许多方面有待改进。事实上,我们可以进一步沿着ASP.NET AJAX客户端与服务器端架构层次关系图进一步扩展其底层。当然,在此框架与Visual Studio整合方面也存在相当的挖掘潜力。

如今,随着微软Silverlight技术的推出,ASP.NET AJAX框架的重要性日显突出。自然,与此框架相关的控件开发也必将在这一大环境中占居着重要的位置。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章