分享好友 编程语言首页 频道列表

Asp.net Ajax的start和web.config配置

ASP.NET  2023-02-09 01:290
微软于2006年11月9日发布了ASP.NET AJAX 1.0 Beta 2 从最初的 Atlas 到 ASP.NET AJAX 1.0 Beta 1 再到 Beta 2 ,这一个基于.NET 的 AJAX 框架已经趋于完整,越来越多的.NET开发者也开始使用这套框架所提供的强大功能建立自己的AJAX应用,在从使用Atlas到ASP.NET AJAX 1.0 Beta 2 的过程中,我也遇到了这样或者那样的问题,通过ASP.NET Forums从国外的开发者那里学到了很多,不敢独享,决定整理出来供新手参考,水平有限,欢迎指正!更欢迎通过MSN:vagrantdog@hotmail.com 联系我一起研究这套框架:)
要使用ASP.NET AJAX 进行开发,首先需要做一些准备工作(由于我使用的是VS2005英文版,下文中有些地方没有使用中文版的名称,希望不会影响阅读,见谅):

下载ASP.NET AJAX 1.0 Beta 2。你可以从 这儿 下载到最近的安装包,也可以访问 http://ajax.asp.net/ 查看更多的信息。下载的文件是一个.msi安装包,直接安装即可。

下载ASP.NET 2.0 AJAX Futures November CTP (可选),下载地址,是否需要下载并安装这个文件取决于你这之前有没有用过AutoCompleteExtender控件或其他“Atlas” CTP 特性,这份文档也许可以帮助你做出判断。

下载AJAX Control Toolkit,下载地址,这是一套可以大大提升开发效率的控件包,下载文件是一个.zip的压缩包,解压后你会发现这就是一个完整的AjaxControlToolkit解决方案,包括了AjaxControlToolkit所有空间的源代码(位于\AjaxControlToolkit\目录下),还有一个文件夹SampleWebSite包含了使用这些控件的若干实例,将其映射为IIS的一个虚拟目录后就能访问,其内容和AJAX Control Toolkit官方网站是一样的,在开始建立你的第一个AJAX-Enabled应用之前强烈建议阅读其中的Walkthroughs部分。

配置VS2005/VWD

在安装了ASP.NET AJAX 1.0 Beta 2之后,你就能从VS2005/VWD的"File"->"New"->"Web Site"对话框中看到出现了新的模版:"ASP.NET AJAX-Enabled Web Site"和"ASP.NET AJAX CTP-Enabled Web Site"(如果你安装了前面提到的ASP.NET 2.0 AJAX Futures November CTP),如下图所示:Asp.net Ajax的start和web.config配置

 当你新建了一个"ASP.NET AJAX-Enabled Web Site"之后,你会发现在你的"Solution Explorer"中除了普通Web项目具有的"APP_Data"目录和"Default.aspx"文件之外多了一个Web.config文件,这个文件包含了建立AJAX网站需要的绝大大多数设置,打开这个文件你会看到这样的代码:

 

Asp.net Ajax的start和web.config配置  <system.web>
Asp.net Ajax的start和web.config配置    
<pages>
Asp.net Ajax的start和web.config配置      
<controls>
Asp.net Ajax的start和web.config配置        
<add tagPrefix="asp" namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        
<add tagPrefix="asp" namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置      
</controls>
Asp.net Ajax的start和web.config配置      
<tagMapping>
Asp.net Ajax的start和web.config配置        
<add tagType="System.Web.UI.WebControls.CompareValidator" 
mappedTagType
="Microsoft.Web.UI.Compatibility.CompareValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        
<add tagType="System.Web.UI.WebControls.CustomValidator" 
mappedTagType
="Microsoft.Web.UI.Compatibility.CustomValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        
<add tagType="System.Web.UI.WebControls.RangeValidator" 
mappedTagType
="Microsoft.Web.UI.Compatibility.RangeValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        
<add tagType="System.Web.UI.WebControls.RegularExpressionValidator" 
mappedTagType
="Microsoft.Web.UI.Compatibility.RegularExpressionValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        
<add tagType="System.Web.UI.WebControls.RequiredFieldValidator" 
mappedTagType
="Microsoft.Web.UI.Compatibility.RequiredFieldValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        
<add tagType="System.Web.UI.WebControls.ValidationSummary" 
mappedTagType
="Microsoft.Web.UI.Compatibility.ValidationSummary, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置      
</tagMapping>
Asp.net Ajax的start和web.config配置......

 

这是VS2005产生的默认设置,其中有个小地方如果不修改的话会给后面的代码编写带来不大不小的麻烦,下文会详细说明。

再来看看Toolbox里面有什么新的东西:

Asp.net Ajax的start和web.config配置

比较明显的是多出来了一个"AJAX Extensions"的Tab,这里面包含的ScriptManager、UpdatePanel、UpdateProgress和ScriptManagerProxy就是进行AJAX开发最基本的空间了,以后我会详细介绍它们的用法。难道ASP.NET AJAX就这么点东西吗?如果你进入ASP.NET AJAX的安装目录(默认为C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\)的话,你还能找到Microsoft.Web.Extensions.dll,在刚才的Web.config文件中也注册了这个文件:
Asp.net Ajax的start和web.config配置      <assemblies>
Asp.net Ajax的start和web.config配置        
<add assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置      
</assemblies>
Asp.net Ajax的start和web.config配置

那么这个文件还为我们带来什么了呢?可以在Toolbox中右键选择"Choose Items"把这个文件导入,然后我们就看到"AJAX Extensions"中多出了几个控件:

Asp.net Ajax的start和web.config配置

这些Validator空间和Toolbox中原有的Validation控件有什么区别呢,呃,这个,我现在也不知道,从Choose Items对话框中可以看到它们来自不同的Dll文件:Asp.net Ajax的start和web.config配置

希望有高人能解答我的这个疑问,谢先~

添加AJAX Control Toolkit控件到Toolbox。首先在Toolbox里面新建一个Tab,然后通过Choose Items对话框选择:你的AJAXControlToolkit解压缩目录\SampleWebSite\Bin\AjaxControlToolkit.dll 完成后你的Toolbox就应该是这个样子了:

Asp.net Ajax的start和web.config配置

好啦,该添加的组件都已经添加好了,在微软的帮助文档中就该说把这些控件拖拽到页面设计器里开始快乐的AJAX之旅了,但是如果你想使用MasterPage的话,现在就开始编码会给你带来一些很郁闷的意外(至少让我郁闷了好些天),具体的情况可以看看Scott Guthrie's 的一篇文章:疑难杂症:ASP.NET AJAX 控件中HTML Intellisense功能的丢失 原文地址,感谢Scott Guthrie's !为了避免这样的问题,我们需要把Web.config上面提到的地方修改如下:

Asp.net Ajax的start和web.config配置......
Asp.net Ajax的start和web.config配置      
<controls>
Asp.net Ajax的start和web.config配置        
<add tagPrefix="AJAX" namespace="Microsoft.Web.UI" 
assembly
="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        
<add tagPrefix="AJAX" namespace="Microsoft.Web.UI.Controls" 
assembly
="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置      
</controls>
Asp.net Ajax的start和web.config配置......

另外,为了避免刚才提到的Validation组件的问题,把<tagMapping>块注释掉,在<controls>块中添加:

Asp.net Ajax的start和web.config配置        <add tagPrefix="AJAX" namespace="Microsoft.Web.UI.Compatibility" 
assembly
="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置

完成修改后的Web.config文件大致是这个样子的:

Asp.net Ajax的start和web.config配置......
Asp.net Ajax的start和web.config配置  
<system.web>
Asp.net Ajax的start和web.config配置    
<pages>
Asp.net Ajax的start和web.config配置      
<controls>
Asp.net Ajax的start和web.config配置        
<add tagPrefix="AJAX" namespace="Microsoft.Web.UI" 
assembly
="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        
<add tagPrefix="AJAX" namespace="Microsoft.Web.UI.Controls" 
assembly
="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        
<add tagPrefix="AJAX" namespace="Microsoft.Web.UI.Compatibility" 
assembly
="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置      
</controls>
Asp.net Ajax的start和web.config配置      
<!--<tagMapping>
Asp.net Ajax的start和web.config配置        <add tagType="System.Web.UI.WebControls.CompareValidator" 
mappedTagType="Microsoft.Web.UI.Compatibility.CompareValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        <add tagType="System.Web.UI.WebControls.CustomValidator" 
mappedTagType="Microsoft.Web.UI.Compatibility.CustomValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        <add tagType="System.Web.UI.WebControls.RangeValidator" 
mappedTagType="Microsoft.Web.UI.Compatibility.RangeValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        <add tagType="System.Web.UI.WebControls.RegularExpressionValidator" 
mappedTagType="Microsoft.Web.UI.Compatibility.RegularExpressionValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        <add tagType="System.Web.UI.WebControls.RequiredFieldValidator" 
mappedTagType="Microsoft.Web.UI.Compatibility.RequiredFieldValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置        <add tagType="System.Web.UI.WebControls.ValidationSummary" 
mappedTagType="Microsoft.Web.UI.Compatibility.ValidationSummary, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Asp.net Ajax的start和web.config配置      </tagMapping>
-->
Asp.net Ajax的start和web.config配置......

在我的项目中,对Web.config这样修改后就基本上没有出现过找不到某某控件的错误了,不知道这样的解决方法是否恰当?

到这里为止,使用 ASP.NET AJAX 开发 AJAX-Enabled 网络应用的准备工作就算是告一段落了,下一次我们就可以用实例来看看如何使用这些控件来开发了。

查看更多关于【ASP.NET】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
ASP.NET操作Cookies的问题(Bug or Not)
以下存和取都是在不同的页面中,如果是在同一个页面也没必要用cookies了。 Test1: 给Cookies赋值: const string AAA="aaa"; Response.Cookies[AAA].Value = "111;222;333"; 取值: string value = Request.Cookies[AAA].Value; // value为111 Test2: 给Cooki

0评论2023-02-09888

Asp.Net Core 自定义验证属性
  很多时候,在模型上的验证需要自己定义一些特定于我们需求的验证属性。所以这一篇我们就来介绍一下怎么自定义验证属性。  我们来实现一个验证邮箱域名的自定义验证属性,当然,最重要的是需要定义一个继承自ValidationAttribute的类,然后在实现其IsVal

0评论2023-02-09525

Asp.Net 之 枚举类型的下拉列表绑定
有这样一个学科枚举类型:/// 学科 /// /summary public enum Subject {None = 0,[Description("语文")]Chinese = 1,[Description("数学")]Mathematics = 2,[Description("英语")]English = 3,[Description("政治")]Politics = 4,[Description("物理&qu

0评论2023-02-09819

[ASP.NET笔记] 1.Web基础知识
     1:http协议:     2:web服务器:     3:静态网页的概念     4:动态网页的概念       http协议:http(hypertext transfer protocol) 即超文本传输协议,这个协议是在internet上进行信息传送的协议任何网页之间要相互沟通,必须要尊循

0评论2023-02-09663

ASP.NET邮件发送 .net 发送邮件
  今天做了个ASP.NET做发送邮件功能,发现QQ邮箱好奇怪,当你用QQ邮箱做服务器的时候什么邮件都发送不出去(QQ邮箱除外)。而且爆出这样的错误:"邮箱不可用。 服务器响应为: Error: content rejected.http://mail.qq.com/zh_CN/help/content/rejectedmail.ht

0评论2023-02-09455

由ASP.NET Core根据路径下载文件异常引发的探究
前言    最近在开发新的项目,使用的是ASP.NET Core6.0版本的框架。由于项目中存在文件下载功能,没有使用类似MinIO或OSS之类的分布式文件系统,而是下载本地文件,也就是根据本地文件路径进行下载。这其中遇到了一个问题,是关于如何提供文件路径的,通

0评论2023-02-09562

ASP.NET 后台接收前台POST过来的json数据方法
 ASP.NET前后台交互之JSON数据 https://www.cnblogs.com/ensleep/p/3319756.html

0评论2023-02-09501

Asp.Net 常用工具类之加密——对称加密DES算法(2)
     又到周末,下午博客园看了两篇文章,关于老跳和老赵的程序员生涯,不禁感叹漫漫程序路,何去何从兮!  转眼毕业的第三个年头,去过苏州,跑过上海,从一开始的凌云壮志,去年背起行囊默默回到了长沙准备买房,也想有个家(毕竟年级不小了),有盼

0评论2023-02-09995

把自己的ASP.NET应用程序与SharePoint集成在一起
微软有文档描述这个解决方法的, 如下.   How to enable an ASP.Net application to run on a SharePoint virtual server http://support.microsoft.com/kb/828810?&clcid=0x409 Allowing Web Applications to Coexist with Windows SharePoint Services http

0评论2023-02-09749

ASP.NET中的OutOfMemoryException
在博客园看到了一位园友写的文章《如何处理OutOfMemoryException异常?》,于是想和大家交流一下ASP.NET中出现OutOfMemoryException的问题。实际上,在ASP.NET Web服务器上,ASP.NET所能够用到的内存,通常不会等同于所有的内存数量。在machine.config配置文

0评论2023-02-09823

【Mono】Linux下的Asp.Net配置指南
本文将介绍如何在Linux操作系统上搭建Asp.Net服务,在阅读本文之前,读者要先确 定自己已经安装好Linux操作系统、Mono Runtime,假如需要使用mod_mono的话,还 需要首先完成Apache的安装和配制。Mono的安装和配置请参考这里。 XSP XSP是一个轻量级的Web服务器

0评论2023-02-09312

EXT调用ASP.NET AJAX WebService
Posted 周五, 04/11/2008 - 16:34 by admin 在asp.net ajax中,使客户端调用WebService变得非常的简单,而且非常有用(个人觉得这个功能是asp.net ajax的核心,很多与客户端的交互都需要这个功能来辅助实现)。那在EXT中,标准的客户端与服务器端交互,使用的

0评论2023-02-09499

asp.net中Timer定时器在web中无刷新的使用
最近在做一个项目的时候,web端的数据需要与数据源进行实时同步,并保证数据的准确性,当时,考虑到使用ajax异步刷新技术。但后来在网上查找相关资料时,发现这样做,太浪费资源了,因为ajax的提交请求不应该这么频繁的,只适用于那种手动请求响应的那种,因

0评论2023-02-09961

ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页的方法
总结了一下ASP.Net访问母版页控件、属性、方法及母版页中调用内容页的方法,供大家参考: 首先,必须通过内容页中的MasterTye指令,对母版页实施强类型化,即在内容页代码头的设置中增加如下指令%@ MasterType VirtualPath="~/Master/MenuElement.master" %

0评论2023-02-09783

asp.net 2.0 ajax中使用PopupControlExtender
 最近在著名的4guysfromrolla.com(http://www.4guysfromrolla.com)上,有篇不错的文章(http://aspnet.4guysfromrolla.com/articles/070407-1.aspx),讲的是如何使用aspajx中的controltookit中的PopupControlExtender控件来实现一些特殊的效果,比如文中举了

0评论2023-02-09965

更多推荐