您的位置:首页 > 编程语言 > ASP

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

2009-08-25 22:57 225 查看
<!--[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 > 12000"//超出最大值显示的信息

MinimumValueMessage="Number < -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("No phone number available in profile.");'>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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: