VS2008与.NET 3.5的JS智能感知和调试

http://www.itjxue.com  2007-10-28 23:36  来源:IT教学网  点击次数: 

  VS 2008可以非常完美地支持JavaScript和ASP.NET AJAX的智能感知和调试。.NET 3.5内置了ASP.NET AJAX,并且UpdatePanel终于可以支持WebPart了。

  示例

  Feature.js(被aspx页引用的js文件)

以下为引用的内容:
  // 创建一个math类 
  window.math = function() 
  { 
  /// 数学函数类 
  } 
   
  window.math.prototype = 
  { 
   // 为math类创建一个max方法 
   max: function(x, y) 
   { 
   /// 返回两个整数中的最大的一个 
   /// 需要比较的第一个整数 
   /// 需要比较的第二个整数 
   
   if (x > y) 
   return x; 
   else 
   return y; 
   } 
  } 

  Feature2.js(在js文件中智能感知外部js文件的JavaScript和ASP.NET AJAX)

以下为引用的内容:

  ///   
  ///   
    
  // 外部js文件用这种方法引进来  
  // 控件引入的js用这种方法引进来  
    
  function refTest()  
  {  
   // 因为有了“”,所以会感知到Feature.js提供的JavaScript  
   var m = new window.math();  
    
   var v = m.max(x, y);  
    
   // 因为有了“”,所以会感知到ASP.NET AJAX  
   // $get("testIntellisense");  
  }

  WebServiceMath.asmx(为ASP.NET AJAX提供服务的WebService)
   
<%@ WebService Language="C#" Class="WebServiceMath" %> 
using System; 
using System.Web; 
using System.Web.Services; 
using System.Web.Services.Protocols;

[WebService(Description = "WebService提供的数学函数类", Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.Web.Script.Services.ScriptService] 
public class WebServiceMath : System.Web.Services.WebService 

    /// <summary> 
    /// 返回两个整数中的最大的一个 
    /// </summary> 
    /// <param name="x">需要比较的第一个整数</param> 
    /// <param name="y">需要比较的第二个整数</param> 
    /// <returns></returns> 
    [WebMethod(Description = "返回两个整数中的最大的一个")] 
    public int Max(int x, int y) 
    { 
        if (x > y) 
            return x; 
        else 
            return y; 
    } 
}

  JavaScript.aspx  

以下为引用的内容:
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="JavaScript.aspx.cs" 
    Inherits="Feature_JavaScript" Title="JavaScript的智能感知和调试(JavaScript Intellisense and Debugging)" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">

    <script src="../JS/Feature.js" type="text/javascript"></script>

</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> 
    <div style="width: 600px"> 
        VS 2008可以非常完美地支持JavaScript和ASP.NET AJAX的智能感知和调试。.NET 3.5内置了ASP.NET AJAX,并且UpdatePanel终于可以支持WebPart了。 
    </div> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
        <Services> 
            <asp:ServiceReference Path="WebServiceMath.asmx" /> 
        </Services> 
    </asp:ScriptManager>

    <script type="text/javascript"> 
         
        var x, y; 
        x = 100; 
        y = 101

        // 新建一个math对象 
        // 此处输入任意字母,就会出现JavaScript的智能感知 
        // 输入window.就会感知到Feature.js文件里创建的math类,并提示math类的summary - 数学函数类 
        var m = new window.math(); 
     
        // 取x,y之间的最大值 
        // 输入m.就会感知到math对象的max方法,并提示max方法的summary - 返回两个整数中的最大的一个 
        // 输入max方法的参数的时候,会提示两个参数的说明 - 需要比较的第一个整数;需要比较的第二个整数 
        var v = m.max(x, y); 
         
        alert(v); 
         
        // 可以在任意JavaScript语句处插入断点,然后就可以对JavaScript进行调试
     
        // ASP.NET AJAX调用web service 
        // WebServiceMath会被智能感知出来 
        // 输入WebServiceMath.后,就会感知到Max方法 
        // 输入Max方法后,就会有参数提示 - x, y, onSuccess, onFailed, userContext 
        WebServiceMath.Max(x, y, onSuccess); 
         
        function onSuccess(result) 
        { 
            alert(result); 
        }  

 

 
 
 

(责任编辑:IT教学网)

更多

推荐ASP.NET教程文章