迁移你的Web页面到ASP.NET AJAX 1.0

如果你在Web站点中使用了Atlas Control Toolkit,那么这篇文章有助于迁移你的Web页面到ASP.NET AJAX 1.0,翻译自ASP.NET AJAX Control Toolkit网站。

随着ASP.NET AJAX 1.0 Beta版的发布,带来了很多根本性的变化,其中的一个变化就是从原先的版本中移除了“TargetProperties”对象。

幸运的是,迁移你的Web页面到新的形式非常的简单,仅仅按照如下步骤去做:

 

第一步:更新引用

首先程序集Toolkit的名称已经改变,更新你的Web站点的引用从AtlasControlToolkitAjaxControlToolkit,然后更新你的Web页面中所有的Register指令。

<%@ Register

      
Assembly="AtlasControlToolkit" 

      Namespace
="AtlasControlToolkit"

      TagPrefix
="atlasToolkit" %>
修改为:
<%@ Register

      
Assembly="AjaxControlToolkit"

      Namespace
="AjaxControlToolkit"

      TagPrefix
="ajaxToolkit" %>
  

第二步 为每一个属性对象创建Extender实例

新的ASP.NET AJAX 扩展里面移除了TargetProperties,每个属性现在直接定义为Extender,所以在你原来的代码中每一个属性对象,都需要一个Extender实例。

<atlasToolkit:ConfirmButtonExtender

    
ID="cbe1" runat="server"> 

    
<atlasToolkit:ConfirmButtonProperties

        
TargetControlID="LinkButton1"

        ConfirmText
="Delete Item?" /> 

    
<atlasToolkit:ConfirmButtonProperties

        
TargetControlID="LinkButton2"

        ConfirmText
="Update Item?" /> 

</atlasToolkit:ConfirmButtonExtender>

修改为:

<ajaxToolkit:ConfirmButtonExtender

     
ID="cbe1" runat="server"  />  

<ajaxToolkit:ConfirmButtonExtender

     
ID="cbe2" runat="server"/>

 

第三步 从Extender中移除属性声明

从属性对象中拷贝属性声明到新的Extender实例。

<ajaxToolkit:ConfirmButtonExtender

    
ID="cbe12"

    runat
="server"

    TargetControlID
="LinkButton1"

    ConfirmText
="Delete Item?" /> 

<ajaxToolkit:ConfirmButtonExtender

    
ID="cbe2"

    runat
="server"

    TargetControlID
="LinkButton2"

    ConfirmText
="UpdateItem?" />

 

第四步 (可选)迁移IDBehaviorID

如果你在属性对象中引用了组件的ID,在Extender中修改它的值为“BehaviorID”。 

<atlasToolkit:ConfirmButtonExtender

    
ID="cbe1" runat="server">

    
<atlasToolkit:ConfirmButtonProperties

        
ID="confirmBehavior1"

        TargetControlID
="LinkButton1"

        ConfirmText
="Delete?" /> 

</atlasToolkit:ConfirmButtonExtender>

 

<script type="text/javascript">

    
function doSomething() {

       
var b = $object("confirmBehavior1");

       b.confirm();

    }
 

</script>

修改为:

<ajaxToolkit:ConfirmButtonExtender

    
ID="cbe1"

    BehaviorID
="confirmBehavior1"

    runat
="server"

    TargetControlID
="LinkButton"

    ConfirmText
="Delete?" />


<script type="text/javascript">

    
function doSomething() {

       
var b = $find("confirmBehavior1");

        b.confirm();

    }


</script>


完成!

原文:http://ajax.asp.net/ajaxtoolkit/Walkthrough/AtlasToAspNetAjax.aspx

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-10-21 09:08 TerryLee 阅读(3925) 评论(27) 编辑 收藏

 回复 引用 查看   
#1楼 2006-10-21 09:20 尧尧      
GOOD JOB
 回复 引用 查看   
#2楼[楼主] 2006-10-21 09:29 TerryLee      
@尧尧
3Q……

 回复 引用 查看   
#3楼 2006-10-21 09:30 阿一      
再来一次学习ASP.NET AJAX系列。
 回复 引用 查看   
#4楼[楼主] 2006-10-21 09:37 TerryLee      
@阿一
是啊,只好重新开始了,准备来一个ASP.NET AJAX入门系列:)

 回复 引用   
#5楼 2006-10-21 10:22 robin 2.0[未注册用户]
速度好快啊

 回复 引用 查看   
#6楼[楼主] 2006-10-21 10:28 TerryLee      
@robin 2.0
主要是MS太快了,我们必须得跟上:)

 回复 引用 查看   
#7楼 2006-10-21 10:37 命运有自己的梦!      
那么多CTP,早该出个正式版了,要不然用着心里也不踏实,而且功能也不完善。
 回复 引用 查看   
#8楼[楼主] 2006-10-21 10:40 TerryLee      
@命运有自己的梦!
这次发布的Beta版本比以前的CTP有了很大的变化,呵呵:)

 回复 引用 查看   
#9楼 2006-10-21 10:50 neuhawk      
幸好我只用updatePanel
 回复 引用 查看   
#10楼[楼主] 2006-10-21 11:06 TerryLee      
@neuhawk
UpdatePanel也变化不小哦,呵呵:)

 回复 引用   
#11楼 2006-10-21 11:17 vagabond
@TerryLee
什么时间开始写入门系列呀.
我得跟上你的写作步骤才行!!!


 回复 引用 查看   
#12楼[楼主] 2006-10-21 11:30 TerryLee      
@vagabond
我尽快吧,不过得先熟悉一下,毕竟变化挺大的:)

 回复 引用   
#13楼 2006-10-21 11:33 vagabond
支持!


 回复 引用 查看   
#14楼 2006-10-21 11:38 Jeffrey Zhao      
迁移远没有这么简单,唉……
 回复 引用 查看   
#15楼[楼主] 2006-10-21 11:46 TerryLee      
@vagabond
:)

@Jeffrey Zhao
这仅仅是使用了Atlas Control Toolkit中的Extender时,可以按照这个迁移到ASP.NET AJAX Control Toolkit,所有的要迁移,就麻烦了

 回复 引用 查看   
#16楼[楼主] 2006-10-21 11:58 TerryLee      
@Jeffrey Zhao
如果是自定义的控件,麻烦大了:)

 回复 引用 查看   
#17楼 2006-10-21 13:14 命运有自己的梦!      
@TerryLee
还好我没来得及研究怎么整自定义控件,呵呵!不过希望能快能看到您的教程。

 回复 引用 查看   
#18楼[楼主] 2006-10-21 13:18 TerryLee      
@命运有自己的梦!
:)

 回复 引用   
#19楼 2006-10-21 20:01 Supper Cat[未注册用户]
完了,我的自定义控件。。。。。。。。。。。。
 回复 引用 查看   
#20楼[楼主] 2006-10-21 20:05 TerryLee      
@Supper Cat
-_-
自定义控件的改动好大

 回复 引用   
#21楼 2006-10-21 23:37 longer[未注册用户]
AutoCompleteExtender變成無法使用,毫無動靜,怪怪?
設定如下:
<asp:TextBox ID="atbx" runat="server"></asp:TextBox>

<atlas:AutoCompleteExtender ID="AutoCompleteExtender1"
runat="server"
CompletionInterval="500"

MinimumPrefixLength="1"
completionSetCount="15"
ServiceMethod="gettype"
ServicePath="AutoCompleteService.asmx"
TargetControlID="atbx" />

 回复 引用 查看   
#22楼[楼主] 2006-10-22 00:07 TerryLee      
@longer
AutoCompleteExtender现在不包括在ASP.NET AJAX 1.0,放在了ASP.NET AJAX “增值”CTP中

你需要下载安装ASP.NET AJAX “增值”CTP
http://www.microsoft.com/downloads/details.aspx?FamilyId=8A3FD0DD-D75E-4249-86DA-3D4AAC649652&displaylang=en

 回复 引用   
#23楼 2006-10-22 11:08 longer[未注册用户]
ASP.NET AJAX “增值”CTP
這個我裝過了,工具箱也參考了Microsoft.Web.Preview.dll這個元件,才會出現AutoCompleteExtender這個工具。
vs.net開新網站,不論是開AJAXEnabledWebSite1 or AJAX「CTP」EnabledWebSite1,都無效,但UpdateProgress卻能正常。
就個人比較:開AJAX「CTP」EnabledWebSite1才會把Microsoft.Web.Preview.dll,自動加至bin底下,web.config與AJAXEnabledWebSite1 也有所不同。
站長或許可以試試看AutoComplete,是否能正常。

 回复 引用   
#24楼 2006-10-22 16:03 Supper Cat[未注册用户]
晕,今天用了Ajax beta1发现生成后没有Microsoft.Web.Extender.dll
晕。万一服务器没安装过Microsoft Ajax咋办捏,而且web.config也与CTP有很大不同!!!我看Atlas迁移到ASP.NET AJAX 并不这么容易!!

 回复 引用   
#25楼 2006-10-22 16:05 Supper Cat[未注册用户]
晕啊~~~早知道等正式的出来再搞了~~~郁闷!!!
 回复 引用 查看   
#26楼[楼主] 2006-10-22 17:54 TerryLee      
@longer
我还没来的及测试,我再看看吧

@Supper Cat
这仅仅是使用了Atlas Control Toolkit中的Extender时,可以按照这个迁移到ASP.NET AJAX Control Toolkit,所有的要迁移,就麻烦了,没这么简单。

 回复 引用 查看   
#27楼 2008-06-02 09:52 大力bober      
如果服务器上没有安装AJAX扩展,我想把AJAX的文件放在项目目录下.这时如何处理?