UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新。UpdatePanel定义如下:

ASP.NET 2.0 AJAX UpdatePanel <asp:UpdatePanel ID="UpdatePanel1" runat="server">
ASP.NET 2.0 AJAX UpdatePanel     
<ContentTemplate>// 
ASP.NET 2.0 AJAX UpdatePanel        
<!--用来定义UPDATEPANEL总的内容,可以是任何HTML或ASP.NET元素,如果想用C#编程的方式加入控件,折需要在后台代码文件中写入 UpdatePanel1.ContentTemplateContainer.Controls.Add(button1);-->
ASP.NET 2.0 AJAX UpdatePanel      
</ContentTemplate>
ASP.NET 2.0 AJAX UpdatePanel      
<Triggers>
ASP.NET 2.0 AJAX UpdatePanel
<!—写入控件事件的触发器,控件可在updatepanel中也可以不在-->
ASP.NET 2.0 AJAX UpdatePanel      
<asp:AsyncPostBackTrigger ControlID=”Button1” Event=”Click”/>
ASP.NET 2.0 AJAX UpdatePanel 
<!—AsyncPostBackTrigger表明button1的click事件采用异步回送,并且不触发传统的页面回送(无论button1是否在UpdatePanel1中),除非控件声明了入dropdownlist的postback属性为true-->
ASP.NET 2.0 AJAX UpdatePanel     
<asp:PostBackTrigger  ContolID=”Button2” Event=”Click”/>
ASP.NET 2.0 AJAX UpdatePanel 
<!—PostBackTrigger声明了在UpdatePanel中Button2控件的Click触发采用了传统的POSTBACK方法 -->
ASP.NET 2.0 AJAX UpdatePanel     
</Triggers>
ASP.NET 2.0 AJAX UpdatePanel
</asp:UpdatePanel>
ASP.NET 2.0 AJAX UpdatePanel


 控件可以直接从工具箱AJAX EXTENSIONS中拖取使用,下面罗列了较为重要的几个属性:
 
1
ChildrenAsTriggers:当UpdateMode属性为Conditional时,UpdatePanel中的子控件的异步回送是否会引发UpdatePanle的更新。
2
UpdateMode:表示UpdatePanel的更新模式,有两个选项:AlwaysConditionalAlways是不管有没有Trigger,其他控件都将更新该UpdatePanelConditional表示只有当前UpdatePanelTrigger,或ChildrenAsTriggers属性为true时当前UpdatePanel中控件引发的异步回送或者整页回送,或是服务器端调用Update()方法才会引发更新该UpdatePanel
   
        UpdatePanel还可以嵌套使用,即在一个UpdatePanel的ContentTemplate中还可以放入另一个UpdatePanel。当最外面的UpdatePanel被触发更新时,它里面的子UpdatePanel也随着更新,里面的UpdatePanel触发更新时,只更新它自己,而不会更新外层的UpdatePanel。
    
       一个使用UpdatePanel的例子:
    

ASP.NET 2.0 AJAX UpdatePanel<?xml version="1.0"?>
ASP.NET 2.0 AJAX UpdatePanel
<configuration>
ASP.NET 2.0 AJAX UpdatePanel    
<configSections>
ASP.NET 2.0 AJAX UpdatePanel        
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
ASP.NET 2.0 AJAX UpdatePanel            
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
ASP.NET 2.0 AJAX UpdatePanel                
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
ASP.NET 2.0 AJAX UpdatePanel                
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
ASP.NET 2.0 AJAX UpdatePanel                    
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
ASP.NET 2.0 AJAX UpdatePanel                    
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
ASP.NET 2.0 AJAX UpdatePanel                    
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
ASP.NET 2.0 AJAX UpdatePanel                
</sectionGroup>
ASP.NET 2.0 AJAX UpdatePanel            
</sectionGroup>
ASP.NET 2.0 AJAX UpdatePanel        
</sectionGroup>
ASP.NET 2.0 AJAX UpdatePanel    
</configSections>
ASP.NET 2.0 AJAX UpdatePanel    
<connectionStrings>
ASP.NET 2.0 AJAX UpdatePanel        
<add name="con" connectionString=""/>
ASP.NET 2.0 AJAX UpdatePanel        
<add name="userDBConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\userDB.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
ASP.NET 2.0 AJAX UpdatePanel    
</connectionStrings>
ASP.NET 2.0 AJAX UpdatePanel    
<system.web>
ASP.NET 2.0 AJAX UpdatePanel        
<pages>
ASP.NET 2.0 AJAX UpdatePanel            
<controls>
ASP.NET 2.0 AJAX UpdatePanel                
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
ASP.NET 2.0 AJAX UpdatePanel            
</controls>
ASP.NET 2.0 AJAX UpdatePanel        
</pages>
ASP.NET 2.0 AJAX UpdatePanel        
<!--
ASP.NET 2.0 AJAX UpdatePanel          Set compilation debug="true" to insert debugging
ASP.NET 2.0 AJAX UpdatePanel          symbols into the compiled page. Because this
ASP.NET 2.0 AJAX UpdatePanel          affects performance, set this value to true only
ASP.NET 2.0 AJAX UpdatePanel          during development.
ASP.NET 2.0 AJAX UpdatePanel    
-->
ASP.NET 2.0 AJAX UpdatePanel        
<compilation debug="true">
ASP.NET 2.0 AJAX UpdatePanel            
<assemblies>
ASP.NET 2.0 AJAX UpdatePanel                
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
ASP.NET 2.0 AJAX UpdatePanel                
<add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
ASP.NET 2.0 AJAX UpdatePanel                
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies>
ASP.NET 2.0 AJAX UpdatePanel        
</compilation>
ASP.NET 2.0 AJAX UpdatePanel        
<httpHandlers>
ASP.NET 2.0 AJAX UpdatePanel            
<remove verb="*" path="*.asmx"/>
ASP.NET 2.0 AJAX UpdatePanel            
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
ASP.NET 2.0 AJAX UpdatePanel            
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
ASP.NET 2.0 AJAX UpdatePanel            
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
ASP.NET 2.0 AJAX UpdatePanel        
</httpHandlers>
ASP.NET 2.0 AJAX UpdatePanel        
<httpModules>
ASP.NET 2.0 AJAX UpdatePanel            
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
ASP.NET 2.0 AJAX UpdatePanel        
</httpModules>
ASP.NET 2.0 AJAX UpdatePanel    
</system.web>
ASP.NET 2.0 AJAX UpdatePanel    
<system.webServer>
ASP.NET 2.0 AJAX UpdatePanel        
<validation validateIntegratedModeConfiguration="false"/>
ASP.NET 2.0 AJAX UpdatePanel        
<modules>
ASP.NET 2.0 AJAX UpdatePanel            
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
ASP.NET 2.0 AJAX UpdatePanel        
</modules>
ASP.NET 2.0 AJAX UpdatePanel        
<handlers>
ASP.NET 2.0 AJAX UpdatePanel            
<remove name="WebServiceHandlerFactory-Integrated"/>
ASP.NET 2.0 AJAX UpdatePanel            
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
ASP.NET 2.0 AJAX UpdatePanel            
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
ASP.NET 2.0 AJAX UpdatePanel            
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
ASP.NET 2.0 AJAX UpdatePanel        
</handlers>
ASP.NET 2.0 AJAX UpdatePanel    
</system.webServer>
ASP.NET 2.0 AJAX UpdatePanel    
<appSettings>
ASP.NET 2.0 AJAX UpdatePanel    
</appSettings></configuration>
ASP.NET 2.0 AJAX UpdatePanel


ASP.NET 2.0 AJAX UpdatePanelusing System;
ASP.NET 2.0 AJAX UpdatePanel
using System.Data;
ASP.NET 2.0 AJAX UpdatePanel
using System.Configuration;
ASP.NET 2.0 AJAX UpdatePanel
using System.Collections;
ASP.NET 2.0 AJAX UpdatePanel
using System.Web;
ASP.NET 2.0 AJAX UpdatePanel
using System.Web.Security;
ASP.NET 2.0 AJAX UpdatePanel
using System.Web.UI;
ASP.NET 2.0 AJAX UpdatePanel
using System.Web.UI.WebControls;
ASP.NET 2.0 AJAX UpdatePanel
using System.Web.UI.WebControls.WebParts;
ASP.NET 2.0 AJAX UpdatePanel
using System.Web.UI.HtmlControls;
ASP.NET 2.0 AJAX UpdatePanel
ASP.NET 2.0 AJAX UpdatePanel
public partial class _Default : System.Web.UI.Page
}

当选在dropdown中选择不同的值或在detailview中进行插入操作时,girdview都可以不通过
刷新页面来反应数据库中的变化。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2021-09-09
  • 2022-03-07
  • 2021-08-27
  • 2021-09-24
猜你喜欢
  • 2021-09-02
  • 2021-10-01
  • 2022-12-23
  • 2021-07-29
  • 2021-08-01
  • 2022-02-13
  • 2021-06-12
相关资源
相似解决方案