`
un268un
  • 浏览: 11258 次
社区版块
存档分类
最新评论

net 2.0下的asp.net ajax基本使用方法 (备忘)

 
阅读更多

  asp.net ajax中用到了几个dll文件,这些可以从网上下载。http://ajax.asp.net站点下可以找到相关的下载。这其中包括:System.Web.Extensions.dll、System.Web.Extensions.Design.dll、AjaxControlkit.dll、AjaxExtensionsToolBox.dll、Microsoft.Web.Preview.dll。其中,System.Web.Extensions.dll与AjaxControlKit.dll这两个组件是最重要的。在将这些组件下载到本地之后,需要将其引入到所需要的项目中。
  System.Web.Extensions.dll中所包含的控件:
  ●ScriptManager
  ● ScriptManagerProxy
  ●Timer
  ●UpdatePanel
  ●UpdateProgress
  AjaxControlToolkit.dll中所包含的控件(扩展了现有的一些控件,同时提供了一些独立的Ajax控件):
  ● Accordion
  ● AccordionPane
  ●AlwaysVisibleControlExtender
  ●AnimationExtender
  ●AutoCompleteExtender
  ●CalendarExtender
  ●CascadingDropDown
  ●CollapsiblePanelExtender
  ●ConfirmButtonExtender
  ●DragPanelExtender
  ●DropDownExtender
  ●DropShadowExtender
  ●DynamicPopulateExtender
  ●FilteredTextBoxExtender
  ●HoverMenuExtender
  ●ListSearchExtender
  ●MaskedEditExtneder
  ●MaskedEditValidator
  ●ModalPopupExtender
  ●MutuallyExclusiveCheckBoxExtender
  ●NoBot
  ●NumericUpDownExtender
  ●PaginBulletedListExtender
  ●PasswordStrength
  ●PopupControlExtender
  ●Rating
  ●ReorderList
  ●ResizableControlExtender
  ●RoundedCornersExtender
  ●SliderExtender
  ●SlideShowExtender
  ●TabContainer
  ●TextBoxWatermarkExtender
  ●ToggleButtonExtender
  ●ToolkitScriptManager
  ●UpdatePanelAnimationExtender
  ●ValidatorCalloutExtender
  二、web.config文件配置
  在项目中引用了asp.net ajax组件后,还需要对项目的web.config文件进行配置。web.config文件的配置,请参见:
  
  "Asp.Net 配置"选项。
  设置和注释的完整列表在
  machine.config.comments 中,该文件通常位于
  \Windows\Microsoft.Net\Framework\v2.x\Config 中
  -->
     
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
   节可以配置 ASP.NET 使用的
  安全身份验证模式,
  以标识传入的用户。
  -->
  
   节可以配置相应的处理步骤。具体说来,
  开发人员通过该节可以配置
  要显示的 html 错误页
  以代替错误堆栈跟踪。
  
  
  
  
  -->
  
  
  
  
  
  
  
  
  
  
  
        
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  三、调用服务器端方法
  (1)调用没有参数的服务器端方法
  
  
  
  
  [System.Web.Services.WebMethod]
  publicstaticstring ServerDate()
  {
  returnDateTime.Now.ToShortDateString();
  }
  
  
  
  asp.net ajax调用服务器方法
  
  
  
  
  
  
  
  function GetServerDate()
  {
  Loading();
  PageMethods.ServerDate(OnSuccess);
  }
  function Loading()
  {
  document.getElementById("ServerDate").innerText="Loading";
  }
  function OnSuccess(Message)
  {              document.getElementById("ServerDate").innerText=Message;          }                                 (2)调用需要参数的服务器方法
  
  
  
  
  [System.Web.Services.WebMethod]
  publicstaticstring ServerDate()
  {
  returnDateTime.Now.ToShortDateString();
  }
  [System.Web.Services.WebMethod]
  publicstaticString YourName( string firstName , string lastName )
  {
  return firstName + " " + lastName;
  }
  
  
  
  asp.net ajax调用服务器方法
  
  
  
  
  
  
  
  function GetServer(firstName, lastName) {
  Loading();
  if (arguments.length != 2) {
  PageMethods.ServerDate(OnSuccess);
  }
  else {
  PageMethods.YourName(firstName, lastName, OnSuccess); //调用带有参数的服务器方法
  }
  }
  function Loading() {
  document.getElementById("ServerDate").innerText = "Loading";
  }
  function OnSuccess(Message) {
  document.getElementById("ServerDate").innerText = Message;
  }
  
  
  
  
  
  
  
  
  说明:
  (a)需要调用的服务器端方法必须以System.Web.Services.WebMethod特性进行标记
  (b)需要调用的服务器端方法必须为公共静态方法      (c)需要调用的服务器端方法应写在.aspx页面(或对应的后台代码文件)中,不应写在用户控件中
  (3)调用WebService
  
  
  
  
  
  asp.net ajax调用WebService
  
  
  
  
  
  
  
  
  
  
  
  function GetMachineName(IsUTC) {
  Loading();
  Ajax_Test.sample.ServerMachineName(OnSucess);
  //Ajax_test为WebService的名命空间
  //sample为类名
  //ServerMachineName为所要调用的方法的名称
  }
  function Loading() {
  document.getElementById("ServerMachineName").innerText = "正在与服务器进行交互...";
  }
  function OnSucess(ServerMachineName) {
  document.getElementById("ServerMachineName").innerText = ServerMachineName;
  }
  
  
  
  
  
  
  (4)关于错误处理
  在调用服务端方法或WebService时,服务器端可能会发生异常!在客户端,这些异常分为服务器错误与服务器超时。
  (a)服务器错误
  
  
  
        [System.Web.Services.WebMethod]      publicstaticfloat ServerDate(int x, int y)      {          return x / y;      }         asp.net ajax调用服务器方法
  
  
  
  
  
  
  
  function GetServer(x, y) {
  Loading();
  //OnSuccess与OnError是两个回调函数
  //OnSuccess表示当调用成功所要执行的回调函数
  //OnError表示当调用不成功时所要执行的加调函数
  PageMethods.ServerDate(x, y, OnSuccess, OnError);
  }
  function Loading() {
  document.getElementById("ServerDate").innerText = "Loading";
  }
  //调用成功时的回调函数
  function OnSuccess(Message) {
  document.getElementById("ServerDate").innerText = Message;
  }
  //发生错误时的回调函数,如果所调用的服务器方法在调用时发生错误,会有一个error对象被返回
  //这个对象就是客户端的Sys.Net.WebServiceError对象
  function OnError(ErrorHander) {
  document.getElementById("ServerDate").innerText = '服务器发生错误!';
  var ErrorMessage = '是否超时' + ErrorHander.get_timedOut() + '\n错误信息为:' + ErrorHander.get_message() + '\n异常名称为:' + ErrorHander.get_exceptionType() + '\n错误位置为:' + ErrorHander.get_stackTrace();
  alert(ErrorMessage);
  }
  
  
  
  
  
  
  
  说明:当服务器发生错误时,会为客户端返回一个异常实例,该异常类型为Sys.Net.WebServiceError。该类包含以下几个属性:
  ●timedOut:布尔值,表示服务器是否超时
  ●message:异常信息描述
  ●exceptionType:服务器端异常的类型名称
  ●stackTrace:异常位置
  (b)服务器超时
  
  
  
  
  [System.Web.Services.WebMethod]
  publicstaticfloat ServerDate(int x, int y)
  {
  return x / y;      }      [System.Web.Services.WebMethod]      publicstaticfloat TimeOutTest()      {          //方法会延迟十秒
  System.Threading.Thread.Sleep(10000);
  return 0;
  }
  
         asp.net ajax调用服务器方法
  
  
  
  
  
  
  
  function GetServer() {
  Loading();
  //设置超时时间
  PageMethods.set_timeout(2000);
  //OnSuccess与OnError是两个回调函数
  //OnSuccess表示当调用成功所要执行的回调函数
  //OnError表示当调用不成功时所要执行的加调函数
  PageMethods.TimeOutTest(OnSuccess, OnError);
  }
  function Loading() {
  document.getElementById("ServerDate").innerText = "Loading";
  }
  //调用成功时的回调函数
  function OnSuccess(Message) {
  document.getElementById("ServerDate").innerText = Message;
  }
  //发生错误时的回调函数,如果所调用的服务器方法在调用时发生错误,会有一个error对象被返回
  //这个对象就是客户端的Sys.Net.WebServiceError对象
  function OnError(ErrorHander) {
  document.getElementById("ServerDate").innerText = '服务器发生错误!';
  var ErrorMessage = '是否超时' + ErrorHander.get_timedOut() + '\n错误信息为:' + ErrorHander.get_message() + '\n异常名称为:' + ErrorHander.get_exceptionType() + '\n错误位置为:' + ErrorHander.get_stackTrace();
  alert(ErrorMessage);
  }
  
  
  
  
  
  
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics