最近做项目需要用到AJAX,但是工作需要必须使用.net 2.0版本;但发现如果项目为.net2.0版本则没有Ajax(web.config已经配置上ajax) ,、工具栏中并不出现Ajax选项卡. 而且新建页面也没有AJAX页面;后来查了很多资料 发现了一种解决方法:
先安装asp.net ajax extensions 此功能是提供.net 2.0 开发AJAX的Client-Side功能 接下来安装Microsoft ASP.NET 2.0 AJAX Templates for Visual Studio 2008 模板套件
这样就可以在vs2008中选择AJAX模板但是必须修改web.config的设定 指定特定的组件版本
最简单的方法是新建一个AJAX 页面 然后复制web.config内容跟旧页面对比 没有的添加上 有的覆盖掉。
加入以下设定
<pages> <controls> <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </controls> </pages>
接下来加入
<compilation debug="true" strict="false" explicit="true"> <assemblies> <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </assemblies> </compilation>
新建一个页面,复制以下代码:
<form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <div> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <label runat="server" id="lableTime"> </label> <% =DateTime.Now.ToString()%> <asp:Button ID="Button3" runat="server" Text="更新" OnClick="Button2_Click" /> <asp:Timer ID="Timer1" runat="server" Interval="1000"> </asp:Timer> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" /> </Triggers> </asp:UpdatePanel> <br /> <% =DateTime.Now.ToString()%> <asp:Button ID="Button2" runat="server" Text="更新" OnClick="Button2_Click" /> <asp:Button ID="Button1" runat="server" Text="更新" /> </div> </form>
后台:
protected void Button2_Click(object sender, EventArgs e) { lableTime.InnerText = DateTime.Now.ToString(); }
运行一下,成功实现无刷新。