首页 > 编程 > .NET > 正文

开发ASP.NET Atlas服务器端Extender控件—基本概念以及预先需求

2024-07-10 13:10:34
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  •   microsoft asp.net atlas的出现几乎颠覆了整个传统的asp.net开发概念,理论上讲,最“纯粹”的atlas应用程序将把一切表现层全部移到客户端进行,服务器端仅仅是提供客户端需要的服务。而目前为止这种客户端编程模型还没有很强大的ide支持(想想编写,调试javascript的时候是多么的痛苦……),同时考虑到还存在着好多现有的asp.net程序,并且开发人员还需要一定的适应/学习时间。这样atlas在提供纯粹的客户端面向编程模型的同时,也允许控件开发者以服务器端控件的形式开发atlas组件,让传统的asp.net开发者在开发时不会觉得有什么不同之处,他们会同样得到visual studio的设计期支持,编译期检查等特性,平缓了程序开发者的学习曲线。

      atlas的服务器端控件大都可以以extender的形式提供,所谓extender,顾名思义,就是对现有的控件的功能,行为等进行扩充的组件。例如,为现有的textbox控件加上自动完成(auto complete)功能,为现有的button控件加上确认对话框等。其中atlas官方发布的control toolkit就是若干个这样的extender的集合,您可以到这里:"atlas" control toolkit更新发布(version 1.0.60504.0),以及atlas control toolkit 发布得到更详细的信息。

      对于这种非常常见的开发extender的需求,atlas为我们提供了一个extender的基类以及相应的visual studio中的project template。在这个系列中,让我们一起学习如何通过使用atlas的extender的基类以及相应的visual studio中的project template开发我们的自定义extender。

      在整个系列中,我将通过一个控件的完整开发过程来讲解,这里我选择的extender的功能是,在用户填写注册信息时,使用ajax方式实时验证用户名是否被注册,关于这个功能的详细介绍以及客户端atlas behavior的实现,请参考:使用asp.net atlas开发实时验证用户名是否被注册的自定义behavior。我推荐对这个系列感兴趣的朋友把这篇文章看懂,其中的概念也弄明白,将会在未来的开发中节省好多时间。

      在开发这个控件前,我们需要安装如下的组件/程序集:

      atlas april ctp,请参考:asp.net atlas april ctp发布,当然,您可以只使用其中的atlas.dll,但我还是建议您安装atlas web site的template,这样可以在开发的过程中实时测试您的控件。

      atlas control toolkit,请参考:"atlas" control toolkit更新发布(version 1.0.60504.0),以及atlas control toolkit 发布,下载好运行自解压文件atlascontroltoolkit.exe,您将得到三个目录,其中在目录atlascontrolextender下有一个atlascontrolextender.vsi文件,如果您不想手动创建control项目以及众多的相关文件/引用,那么最好还是运行安装一下这个visual studio的project template(噢,当然,visual studio还是必要的)。

      如果一切顺利的话,上述两个步骤以后您在新建web site的时候就可以看到atlas web site的template了;同样在新建项目的时候也能看到atlas control project的选项。

      顺便也说一下,atlascontroltoolkit.exe解压后的三个目录中的另外两个:

      atlascontroltoolkit目录中有这个control toolkit提供的若干个extender,都带有源代码(不过没有注释)。这将是您在开发过程中不可缺少的示例程序!

      samplewebsite目录中有上述extender的使用文档以及演示程序。您可以在这里学到如何使用开发好的extender。

      这个control toolkit中的所有extender以及提供的extender的基类都遵守microsoft permissive license协议,这是个非常宽松的协议,基本没有任何限制,请参见http://www.microsoft.com/resources/sharedsource/licensingbasics/permissivelicense.mspx

      (今天就到这里吧,不好意思写了这么短的文章。实在是有点累了……这个系列大概还要两三篇左右。顺祝各位儿童节快乐)

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表