首先肯定需要下载一个.net3.5,这个网上有很多。
下面就主要介绍一些和Ajax1.0在使用和配置方面有差别的地方,至于.net3.5中Ajax的具体使用和Ajax1.0是差不多的,园子里也有很多的介绍文章。
一、在VS2005中使用
以前Ajax1.0的时候可以下载一个VS2005的插件,安装好之后会多出一个特定的Ajax的项目,创建这种类型的项目就可以使用Ajax1.0的功能了。
这个插件主要做了两件事:
1、在网站的web.config中加入了一些配置项。
在.net3.5的时候我们可以手工在web.config中加入Ajax的配置:










2、在工具箱中加入Ajax的控件
我们也可以手工在VS2005的工具箱上-〉右键-〉选择项....,然后在".net framework组件"的tab中选择所有程序集名称为System.Web.Extensions(3.5.0.0)的控件,插入就可以了。
加入之后就会在工具箱中看到相应的控件(当然只是一些基本的控件),然后就可以按照Ajax1.0的方法进行开发了。
二、在MOSS中使用.net3.5中的Ajax功能
1、修改配置
这一步和上面一样,将上面的配置加入对应MOSS站点的web.config文件中就可以了
2、在VS2005中编写Webpart
这个也是按照常规的方式编写webpart,在这个webpart中使用Ajax中的控件。但是自己的webpart要针对Ajax进行一些特殊处理。我这里参考网上的资料写了一个父类,可以直接从这个父类继承就可以了。
1
public abstract class AjaxBasePart : System.Web.UI.WebControls.WebParts.WebPart
2

{
3
private ScriptManager _AjaxManager;
4
5
public AjaxBasePart()
6
{
7
}
8
9
protected override void OnInit(EventArgs e)
10
{
11
base.OnInit(e);
12
13
//取得存在的ScriptManager
14
_AjaxManager = ScriptManager.GetCurrent(this.Page);
15
16
if (_AjaxManager == null)
17
{
18
//创建ScriptManager
19
_AjaxManager = new ScriptManager();
20
_AjaxManager.ID = this.ID + "$AjaxManager";
21
_AjaxManager.EnablePartialRendering = true;
22
23
if (this.Page.Form != null)
24
{
25
//解决Ajax按钮只能执行一次的问题
26
string formOnSubmitAtt = this.Page.Form.Attributes["onsubmit"];
27
if (!string.IsNullOrEmpty(formOnSubmitAtt) && formOnSubmitAtt == "return _spFormOnSubmitWrapper();")
28
{
29
this.Page.Form.Attributes["onsubmit"] = "_spFormOnSubmitWrapper();";
30
}
31
32
this.Page.Form.Controls.AddAt(0, _AjaxManager);
33
}
34
}
35
}
36
}
最主要的代码有两处:
2



3

4

5

6



7

8

9

10



11

12

13

14

15

16

17



18

19

20

21

22

23

24



25

26

27

28



29

30

31

32

33

34

35

36

1、14行的地方取得ScriptManager对象,如果没有的话才创建,然后在32行的时候作为form的第一个控件插入。因为一个页面中只能出现一个ScriptManager对象
2、在26-30之间用来解决UpdatePanel中的按钮只能执行一次的情况。在MOSS中直接使用Ajax的控件时存在一些兼容性方面的问题,需要进行一些特殊处理。如果不加入这段代码,那么在UpdatePanel中出现的按钮只能点击一次,下次再点击的时候没有反应。