科技行者

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

知识库

知识库 安全导航

至顶网软件频道一键生成 Ajax Control Toolkit 标记

一键生成 Ajax Control Toolkit 标记

  • 扫一扫
    分享文章到微信

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

你可知道,使用Ajax扩展控件(加上本文的偷懒工具)要比单独使用普通的Server控件更加省时、省心、省力!更何况还能提高程序的易用性……

作者:景春雷 来源:博客园 2007年12月4日

关键字:

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

在本页阅读全文(共4页)

页面的全部代码:

以下是引用片段:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="demo_page.aspx.cs" Inherits="demo_page" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <style type="text/css">
    .lab
    {
        font-size: 9pt;
        font-family: 宋体;
    }
    .txtbox
    {
        font-size: 9pt;
        width: 100px;
        font-family: 宋体;
    }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <table>
            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" Text="价格" CssClass="lab"></asp:Label></td>
                <td>
                    <asp:TextBox ID="price_textbox" runat="server" CssClass="txtbox"></asp:TextBox></td>
                <td>
                    <asp:Label ID="Label2" runat="server" Text="预定出货日" CssClass="lab"></asp:Label></td>
                <td>
                    <asp:TextBox ID="plan_date_textbox" runat="server" CssClass="txtbox"></asp:TextBox></td>
            </tr>
            <tr>
                <td>
                    <asp:Label ID="Label3" runat="server" CssClass="lab" Text="成本"></asp:Label></td>
                <td>
                    <asp:TextBox ID="cost_textbox" runat="server" CssClass="txtbox"></asp:TextBox></td>
                <td>
                    <asp:Label ID="Label4" runat="server" Text="实际出货日" CssClass="lab"></asp:Label></td>
                <td>
                    <asp:TextBox ID="acture_date_textbox" runat="server" CssClass="txtbox"></asp:TextBox></td>
            </tr>
        </table>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <ajaxToolkit:MaskedEditExtender ID="price_textbox_masker" runat="server" TargetControlID="price_textbox"
            Mask="9,999,999.99" MaskType="Number" InputDirection="RightToLeft" AcceptNegative="Left"
            DisplayMoney="Left">
        </ajaxToolkit:MaskedEditExtender>
        <ajaxToolkit:MaskedEditExtender ID="cost_textbox_masker" runat="server" TargetControlID="cost_textbox"
            Mask="9,999,999.99" MaskType="Number" InputDirection="RightToLeft" AcceptNegative="Left"
            DisplayMoney="Left">
        </ajaxToolkit:MaskedEditExtender>
        <asp:RangeValidator ID="plan_date_textbox_dv" runat="server" ControlToValidate="plan_date_textbox"
            Display="None" ErrorMessage="无效的日期" MaximumValue="3000-1-1" MinimumValue="1900-1-1"
            Type="Date"></asp:RangeValidator>
        <ajaxToolkit:ValidatorCalloutExtender ID="plan_date_textbox_dv_callout" runat="server"
            TargetControlID="plan_date_textbox_dv">
        </ajaxToolkit:ValidatorCalloutExtender>
        <asp:RangeValidator ID="acture_date_textbox_dv" runat="server" ControlToValidate="acture_date_textbox"
            Display="None" ErrorMessage="无效的日期" MaximumValue="3000-1-1" MinimumValue="1900-1-1"
            Type="Date"></asp:RangeValidator>
        <ajaxToolkit:ValidatorCalloutExtender ID="acture_date_textbox_dv_callout" runat="server"
            TargetControlID="acture_date_textbox_dv">
        </ajaxToolkit:ValidatorCalloutExtender>
    </form>
</body>
</html>

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

  一键生成Ajax控件标记

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

  Step1:

  

  Step2:

  

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

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

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