《征服ASP.NET2.0AJAX》一书的读后总结(16-18章)

来源:互联网 发布:电视直播软件 央视 编辑:程序博客网 时间:2024/04/29 17:01

<!--[if !supportLists]-->第一章<!--[endif]-->Microsoft ASP.NET Ajax介绍
<!--[if !supportLists]-->第二章<!--[endif]--> Ajaxcontroltoolkit工具包概述
创建AJAX-Enabled模板的网站和创建AJAXControlToolkit模板的网站在配置文件方面的区别:

AJAX-Enabled面向所有的AJAX程序,在默认页面加载ScriptManage控件,在配置文件中加载实现AJAX程序最基本类库;

<compilation debug="true">

              <assemblies>

<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

</assemblies>

</compilation>

为了允许控件在页面中使用,在页面中添加对类库的调用

<system.web>

    <pages>

      <controls>

        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

           </controls>

    </pages>

AJAXControlToolkit模板出去AJAX网站基础上,在增加两个(System.Web.Extensions.Design、System.Design)程序集

<compilation debug="true">

              <assemblies>

<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

     <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

</assemblies>

</compilation>

为了允许控件在页面中使用,在页面中添加对类库(核心组件、AJAXControlToolkit工具箱中的组件)的调用

<system.web>

    <pages>

      <controls>

        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

        <add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit"/>

      </controls>

    </pages>

<!--[if !supportLists]-->第三章<!--[endif]-->AjaxControlToolkit文本输入特效
<!--[if !supportLists]-->1.         <!--[endif]-->AutoComplete控件

主要是根据前面输入的几个字幕或汉字给出提示数据。是文本框和div的组合控件。选取数据的方法有Web服务提供。

            <ajaxToolkit:AutoCompleteExtender

                runat="server"

                BehaviorID="AutoCompleteEx"

                ID="autoComplete1"

                TargetControlID="myTextBox"  //要实现提示功能的控件

 ServicePath="AutoComplete.asmx" //web服务的路径                ServiceMethod="GetCompletionList" //调用数据使用的方法

                MinimumPrefixLength="2"  //多少个字母以后提出提示

                CompletionInterval="1000" //从服务器获取数据的时间间隔,单位毫秒

                EnableCaching="true" //是否启用缓存

                CompletionSetCount="20"//提示数据的行数

                CompletionListCssClass="autocomplete_completionListElement"

                CompletionListItemCssClass="autocomplete_listItem"

                CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"

                DelimiterCharacters=";, :">

                <Animations>

                    <OnShow>

                        <Sequence>

                            <%-- Make the completion list transparent and then show it --%>

                            <OpacityAction Opacity="0" />

                            <HideAction Visible="true" />

                           

                            <%--Cache the original size of the completion list the first time

                                the animation is played and then set it to zero --%>

                            <ScriptAction Script="

                                // Cache the size and setup the initial size

                                var behavior = $find('AutoCompleteEx');

                                if (!behavior._height) {

                                    var target = behavior.get_completionList();

                                    behavior._height = target.offsetHeight - 2;

                                    target.style.height = '0px';

                                }" />

                           

                            <%-- Expand from 0px to the appropriate size while fading in --%>

                            <Parallel Duration=".4">

                                <FadeIn />

                                <Length PropertyKey="height" StartValue="0" EndValueScript="$find('AutoCompleteEx')._height" />

                            </Parallel>

                        </Sequence>

                    </OnShow>

                    <OnHide>

                        <%-- Collapse down to 0px and fade out --%>

                        <Parallel Duration=".4">

                            <FadeOut />

                            <Length PropertyKey="height" StartValueScript="$find('AutoCompleteEx')._height" EndValue="0" />

                        </Parallel>

                    </OnHide>

                </Animations>

            </ajaxToolkit:AutoCompleteExtender>

[System.Web.Script.Services.ScriptService]要在客户调用此服务,必须给服务类添加这个标识。

 

<!--[if !supportLists]-->2.         <!--[endif]-->FilteredTextBox控件

具备文本框的过滤特性,防止用户输入不符合规定的字符即不允许输入字符;

<ajaxToolkit:FilteredTextBoxExtender

            ID="FilteredTextBoxExtender3"

            runat="server"

            TargetControlID="TextBox3"

 FilterType="Custom, Numbers" //过滤类型,默认提供4种类型(LowercaseLetters,),使用多个用”,”间隔

Custom:表示只允许输入ValidChars表示的几个字符

Numbers:数字行;

LowercaseLetters:小写字符;

UPcaseLetters:大写字符;

           ValidChars="+-=/*()." />//当FilterType类型为Custom时此属性有效,表示有效的字符

本例表示只允许输入数字,自定义的几个字符(+-=/*().)

 

<!--[if !supportLists]-->3.         <!--[endif]-->MaskedEdit控件由MaskedEditExtender(定义光标放在Text上输入内容的格式)和MaskedEditValidator(验证内容的输入)两部分组成

<strong>Enter a Number (format: <em>9,999,999.99</em>):</strong>

        <br />

        <asp:TextBox ID="TextBox2" runat="server" Width="130px" Height="16px" ValidationGroup="MKE" />

        <ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender2" runat="server"

            TargetControlID="TextBox2"

            Mask="9,999,999.99"//类似于正则表达式,包括通配符和分隔符两部分

            MessageValidatorTip="true" //是否提示验证信息

            OnFocusCssClass="MaskedEditFocus" //当被验证控件获得焦点时的应用的样式

            OnInvalidCssClass="MaskedEditError"//当被验证控件验证失败时的应用的样式

            MaskType="Number" //验证类型,共4种

            InputDirection="RightToLeft" //文本输入方向

            AcceptNegative="Left" //是否接受负数符号“_”

            DisplayMoney="Left" //显示金额符号的位置

            ErrorTooltipEnabled="True" />//未输入完时的提示字符

        <ajaxToolkit:MaskedEditValidator ID="MaskedEditValidator2" runat="server"

            ControlExtender="MaskedEditExtender2"

            ControlToValidate="TextBox2"

            IsValidEmpty="False" //是否允许为空

            MaximumValue="12000" //最大值

            EmptyValueMessage="Number is required" //空值显示的信息

            InvalidValueMessage="Number is invalid"//验证为通过显示的信息

            MaximumValueMessage="Number &gt; 12000"//超出最大值显示的信息

            MinimumValueMessage="Number &lt; -100"//超出最小值显示的信息

            MinimumValue="-100" //最小值

            Display="Dynamic" //验证控件的显示模式          

TooltipMessage="Input a number from -100 to 12000"//当被验证控件获得焦点,并且内容为空时的提示信息。

            EmptyValueBlurredText="*"

            InvalidValueBlurredMessage="*"

            MaximumValueBlurredMessage="*"

            MinimumValueBlurredText="*"

            ValidationGroup="MKE" /

 

<!--[if !supportLists]-->4.         <!--[endif]-->PasswordStrength

用来提示用户输入密码的情况,说明用户输入密码的强度;

<ajaxToolkit:PasswordStrength ID="PasswordStrength2" runat="server" TargetControlID="TextBox2"

            DisplayPosition="RightSide" //提示信息显示位置

            StrengthIndicatorType="BarIndicator"//强度提示方式,即文本或进度条

            PreferredPasswordLength="15"//最合适的密码长度

            HelpStatusLabelID="TextBox2_HelpLabel"// 显示帮助信息的Label的ID       StrengthStyles="BarIndicator_TextBox2_weak;BarIndicator_TextBox2_average;BarIndicator_TextBox2_good"

           

            BarBorderCssClass="BarBorder_TextBox2" //进度条的边框样式

            MinimumNumericCharacters="1"//密码中最少要包含的数字的个数

            MinimumSymbolCharacters="1" //密码中最少要包含特殊字符的个数

            TextStrengthDescriptions="Very Poor;Weak;Average;Strong;Excellent"

            RequiresUpperAndLowerCaseCharacters="true" />//是否要求大小写混合;

 

<!--[if !supportLists]-->5.         <!--[endif]-->TextBoxWatermarkExtender给文本添加水印,当用户输入内容时,特色就消失。如果用户没有输入内容,当文本框失去焦点后,特色的样式又显示出来。

<ajaxToolkit:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender2" runat="server"

                    TargetControlID="TextBox2"

                    WatermarkText="Type Last Name Here" //水印效果提示的文本。

                    WatermarkCssClass="watermarked" />//水印效果应用的样式。

<!--[if !supportLists]-->6.         <!--[endif]-->ValidatorCalloutExtender用来绑定验证控件的提醒控件,即结合验证控件,把验证控件的提示文本用“弹出错误”提示的方式。

<asp:TextBox runat="server" ID="PhoneNumberTextBox"

                    BorderStyle="solid" BorderWidth="1px" BorderColor="#a9a9a9" />

        <asp:RequiredFieldValidator runat="server" ID="PNReq"

            ControlToValidate="PhoneNumberTextBox"

            Display="None"

            ErrorMessage="<b>Required Field Missing</b><br />A phone number is required.<div style='margin-top:5px;padding:5px;border:1px solid #e9e9e9;background-color:white;'><b>Other Options:</b><br /><a href='javascript:alert(&quot;No phone number available in profile.&quot;);'>Extract from Profile</a></div>" />

        <ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="PNReqE"

            TargetControlID="PNReq"

            HighlightCssClass="validatorCalloutHighlight" //弹出提示消息应用的样式

            Width="350px" /> //弹出提示消息的宽度

              //WarningIconImageUrl="" 弹出消息中的警告图片地址

              //CloseImageUrl = ""弹出消息中使用的关闭图片地址

           

        <asp:RegularExpressionValidator runat="server" ID="PNRegEx"

            ControlToValidate="PhoneNumberTextBox"

            Display="None"

            ValidationExpression="((/(/d{3}/) ?)|(/d{3}-))?/d{3}-/d{4}"

            ErrorMessage="<b>Invalid Field</b><br />Please enter a phone number in the format:<br />(###) ###-####" />

        <ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="PNReqEx"

            TargetControlID="PNRegEx"

            HighlightCssClass="validatorCalloutHighlight" />

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhang_xiao_qing_c_s_/archive/2009/02/10/3874121.aspx

原创粉丝点击