您的位置:首页 > 其它

AJAX从零开始--初步接触AJAX.NET(续)

2007-08-28 16:21 302 查看
上篇的那个问题终于解决了
是Web.Config的问题
添加了
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
首先还是添加个ScriptManager,这个是必须的。
然后新建个UpdatePanel,再创建ContentTemplate,然后直接在里面添加表格或其他想要实现的东西,即可实现AJAX效果了。这里是随便拿了个GridView做测试,非常简单,就不贴代码了。

AJAX Control Toolkit
基于 ASP.NET AJAX模型
-服务端Extender
-客户端Behavior
社区支持,最终完全由社区开发
轻易添加AJAX效果

首先在页面的头文件添加
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
然后要创建一个WebService
[WebMethod]
[ScriptMethod]
public string[] GetSearchTerms(string prefixText, int count)
{
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["SimpleListsConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand(
"SELECT DISTINCT TOP(@nrows) Name FROM Lists WHERE Name like @term", cn);
cmd.Parameters.AddWithValue("nrows", count);
cmd.Parameters.AddWithValue("term", prefixText + "%");
List<string> suggestions = new List<string>();
cn.Open();
using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
suggestions.Add(dr[0].ToString());
}
return suggestions.ToArray();
}
客户端,必须在UpdatePanle内
<ajaxToolkit:AutoCompleteExtender runat="server" ID="AutoCompleteSearch"
MinimumPrefixLength="1" TargetControlID="SearchText"
ServicePath="AutoCompleteService.asmx"
ServiceMethod="GetSearchTerms"></ajaxToolkit:AutoCompleteExtender>
这个完成的效果就是类似于Google或讯雷等不少网站搜索时输入几个字符就自动下拉关键字匹配的那个效果。
MinimumPrefixLength的意思是当输入多少的时候就进行匹配.
使用UpdatePanelAnimationExtender可以显示出一些动画提示用户UpdatePanel正在更新
<ajaxToolkit:UpdatePanelAnimationExtender runat="server"
ID="Animation1" TargetControlID="UpdatePanel2">
<Animations>
<OnUpdating>
<Color AnimationTarget="list" PropertyKey="backgroundColor"
Duration="0.5" Fps="30" StartValue="#FFFFFF" EndValue="#00EEEE"></Color>
</OnUpdating>
<OnUpdated>
<Color AnimationTarget="list" PropertyKey="backgroundColor"
Duration="0.5" Fps="30" EndValue="#FFFFFF" StartValue="#00EEEE"></Color>
</OnUpdated>
</Animations>
</ajaxToolkit:UpdatePanelAnimationExtender>
OnUpdating表示UpdatePanel更新的时候
l AnimationTarget对应的控件ID
l PropertyKey 修改的属性
l Duration 持续时间(秒)
l Fps 变化的侦数
l EndValue 起始颜色
l StartValue 最后颜色
OnUpdated 表示更新后的事件,这里只是变回来

附视频里所推荐的几个工具的下载地址
Fiddler HTTP内容察看 本机调试的话使用计算机名+目标地址 http://www.fiddlertool.com
IE Dev Toolbar 页面开发辅助工具 http://www.microsoft.com/downloads/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&displaylang=en
FireBug FireFox调试的一个工具 http://www.getfirebug.com/
Venkman FireFox调试JavaScript https://addons.mozilla.org/firefox/216/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: