zoukankan      html  css  js  c++  java
  • [转]偷懒秘笈之一键生成 Ajax Control Toolkit 标记

    摘要

    你可知道,使用Ajax扩展控件(加上本文的偷懒工具)要比单独使用普通的Server控件更加省时、省心、省力!更何况还能提高程序的易用性,简直就是鱼与熊掌可以兼得!总之我是已经决定在下一个项目中使用Ajax了。如果你看过本文觉得我这话是骗人的,就请尽情的抛板砖吧。


    让人又爱又恨的Ajax Control Toolkit

    Ajax Control Toolkit 是一套基于 ASP.NET AJAX 框架的开源控件库,里面包含了30多个非常好用的Ajax控件。这套控件最可爱的地方就是它们不是单独使用的新控件,而是作为现有服务器控件的Ajax功能扩展。也即是说,一个普普通通的使用了Server控件的页面,只要向页面中拖放几个Ajax控件,简单设置几个属性,不需要多写一行代码,你的页面立即就拥有了超酷的Ajax功能。不信?请看下面的小例子。

    1. 这就是一个使用了普通TextBox的页面
    2. 添加一个MaskedEditExtender控件,运行,普通的TextBox控件立刻就变得不一样了^_^
    3. 在添加几个普通的RangeValidator控件以及和它配套使用的Ajax 控件ValidatorCalloutExtender,我们的页面已经非常酷了。

    页面的全部代码:
    demo_page.aspx

    可恨的是需要为每个TextBox添加1个或数个Ajax控件,而且这些控件除了ID和TargetControlID不同,其它部分都是相同的!对于吾辈懒人来说,这种重复性工作即使多干1分钟都会郁闷不已,而偷懒的方法也不外乎就是用程序根据模板替换ID,这一次的偷懒工具是VS2005中的宏。

    一键生成Ajax控件标记

    首先生成“价格”和“成本”两个TextBox的MaskedEditExtender控件标记。
    Step1:


    Step2:


    再来生成两个日期文本框的RangeValidator和ValidatorCalloutExtender控件标记。
    Step1:


    Step2:


    经过两次复制与粘贴,就已经生成了我们想要的Ajax控件。


    为你的项目定制偷懒工具箱

    上面那个代码生成工具可以被非常简单、灵活地扩展。
    例如,现在想添加一个生成类似
    <ajaxToolkit:FilteredTextBoxExtender 
        
    ID="price_textbox_filter" runat="server"
        FilterType
    ="Numbers"
        TargetControlID
    ="price_textbox">
    </ajaxToolkit:FilteredTextBoxExtender>
    这样的标记的宏。只需要写一个只有一行代码的函数就可以了。
    Step1: 在“宏资源管理器”中的“ajaxcontroltoolkit_tag”宏项目的“Module1”上右击,点击“编辑”打开宏编辑器。

    Step2: 添加一个函数,保存。之后就可以在VS2005的宏资源管理器中看到并使用这个函数了。

    gen_number_filter函数的源代码如下:
    ' 生成用于过滤数字的FilteredTextBoxExtender控件标记,{0}标记会被替换成复制到剪贴板中的控件的ID。
    Sub gen_number_filter()
      gen_tags(
    "<ajaxToolkit:FilteredTextBoxExtender ID=""{0}_filter"" runat=""server"" FilterType=""Numbers"" TargetControlID=""{0}""></ajaxToolkit:FilteredTextBoxExtender>")
    End Sub

    这样你很快就可以为特定的项目定制一套专用的偷懒工具箱了。

    下载 & 安装

    现在就下载并试用一下这个ajaxcontroltoolkit_tag宏项目吧。
    Step1: 下载ajaxcontroltoolkit_tag.rar
    Step2: 解压缩,得到ajaxcontroltoolkit_tag.vsmacros这个文件(没错,整个宏项目就只有这一个文件),复制到任意一个文件夹下,当然建议把它放在D盘,因为在这个危险的星球上我们都是要随时准备格机滴^_^
    Step3: 在VS2005中打开宏资源管理器,在“宏”上右击,点击“加载宏项目...”。
    在弹出的“添加宏项目”对话框中,直接选择ajaxcontroltoolkit_tag.vsmacros这个文件添加即可。

    宏里的代码是很简单的,相信大家一看就能懂,我就不多作解释了。

    参考文献

    使用宏作为代码生成工具的想法来自Reeezak
    宏项目中的核心代码基本上是从下面这两篇文章中Copy&Past的。
    Reeezak
    宏项目中的核心代码基本上是从下面这两篇文章中Copy&Past的。
    birdshome使用IDE宏遍历代码中的非ASCII字符。2005-12-25, cnblogs.
    yiyanxiyin原创:一个相当有用的宏(for vs.net),该宏能大大的提高开发速度。2007-6-26, cnblogs.
  • 相关阅读:
    WCF框架基础(三)
    前台动态增加行,并将结果打印到XML文件
    WCF框架基础(二)
    Out Ref用法
    uploadify3.1版本参数使用详解
    WCF框架基础(一)
    ajax直接调用后台
    Linq to DataSet查询
    3.2版uploadify详细例子(含FF和IE SESSION问题)
    sprintf以及__int64 与long long int
  • 原文地址:https://www.cnblogs.com/daxia/p/972403.html
Copyright © 2011-2022 走看看