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

   2023-02-09 学习力0
核心提示:微软于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到AS
微软于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 网络应用的准备工作就算是告一段落了,下一次我们就可以用实例来看看如何使用这些控件来开发了。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 使用WebClient自动填写并提交ASP.NET页面表单的源代码
    使用WebClient自动填写并提交ASP.NET页面表单的
    转自:http://www.cnblogs.com/anjou/archive/2007/03/07/667253.html 在.NET中通过程序填写和提交表单还是比较简单。比如,要提交一个如下图所示的登录表单:           填写和提交以上表单的代码如下:       // 要提交表单的URI字符串
    02-09
  • asp.net mvc多条件+分页查询解决方案
    


            
asp.net mvc多条件+分页查询解决方案
    asp.net mvc多条件+分页查询解决方案
    http://www.cnblogs.com/nickppa/p/3232535.html开发环境vs2010css:bootstrapjs:jquery    bootstrap paginator原先只是想做个mvc的分页,但是一般的数据展现都需要检索条件,而且是多个条件,所以就变成了MVC多条件+分页查询因为美工不是很好,所以用的是
    02-09
  • 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
    02-09
  • Asp.Net Core 自定义验证属性
      很多时候,在模型上的验证需要自己定义一些特定于我们需求的验证属性。所以这一篇我们就来介绍一下怎么自定义验证属性。  我们来实现一个验证邮箱域名的自定义验证属性,当然,最重要的是需要定义一个继承自ValidationAttribute的类,然后在实现其IsVal
    02-09
  • Asp.Net 之 枚举类型的下拉列表绑定
    有这样一个学科枚举类型:/// 学科 /// /summary public enum Subject {None = 0,[Description("语文")]Chinese = 1,[Description("数学")]Mathematics = 2,[Description("英语")]English = 3,[Description("政治")]Politics = 4,[Description("物理&qu
    02-09
  • [ASP.NET笔记] 1.Web基础知识
         1:http协议:     2:web服务器:     3:静态网页的概念     4:动态网页的概念       http协议:http(hypertext transfer protocol) 即超文本传输协议,这个协议是在internet上进行信息传送的协议任何网页之间要相互沟通,必须要尊循
    02-09
  • ASP.NET邮件发送 .net 发送邮件
      今天做了个ASP.NET做发送邮件功能,发现QQ邮箱好奇怪,当你用QQ邮箱做服务器的时候什么邮件都发送不出去(QQ邮箱除外)。而且爆出这样的错误:"邮箱不可用。 服务器响应为: Error: content rejected.http://mail.qq.com/zh_CN/help/content/rejectedmail.ht
    02-09
  • 由ASP.NET Core根据路径下载文件异常引发的探究
    前言    最近在开发新的项目,使用的是ASP.NET Core6.0版本的框架。由于项目中存在文件下载功能,没有使用类似MinIO或OSS之类的分布式文件系统,而是下载本地文件,也就是根据本地文件路径进行下载。这其中遇到了一个问题,是关于如何提供文件路径的,通
    02-09
  • ASP.NET的运行原理与运行机制 ASP.NET的开发模式包括
    ASP.NET的运行原理与运行机制 ASP.NET的开发模
    在Asp.net4和4.5中,新增了WebPages Framework,编写页面代码使用了新的Razor语法,代码更加的简洁和符合Web标准,编写方式更接近于PHP和以前的Asp,和使用WebForms这种模仿Windows Form编程方式有了很大不同,不再有大量控件和控件生成的大量不够灵活的代码
    02-09
  • ASP.NET 后台接收前台POST过来的json数据方法
     ASP.NET前后台交互之JSON数据 https://www.cnblogs.com/ensleep/p/3319756.html
    02-09
点击排行