步步为营VS 2008 + .NET 3.5(2) - VS 2008新特性之JavaScript Intellisense and Debugging

[索引页]
[源码下载]


步步为营VS 2008 + .NET 3.5(2) - VS 2008新特性之JavaScript Intellisense and Debugging(JavaScript的智能感知和调试)


作者:webabcd


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


示例
Feature.js(被aspx页引用的js文件)
// 创建一个math类
window.math = function()    
{
/// <summary>数学函数类</summary>
}

window.math.prototype =
{
         // 为math类创建一个max方法
        max: function(x, y)
        {
        /// <summary>返回两个整数中的最大的一个</summary>
        /// <param name= "x">需要比较的第一个整数</param>
        /// <param name= "y">需要比较的第二个整数</param>
        
                 if (x > y)
                         return x;
                 else
                         return y;
        }
}
 
Feature2.js(在js文件中智能感知外部js文件的JavaScript和ASP.NET AJAX)
/// <reference path= "Feature.js" />
/// <reference name= "MicrosoftAjax.js" />

// 外部js文件用这种方法引进来<reference path="Feature.js" />
// <asp:scriptmanager>控件引入的js用这种方法引进来<reference name="MicrosoftAjax.js" />

function refTest()
{
         // 因为有了“<reference path="Feature.js" />”,所以会感知到Feature.js提供的JavaScript
         var m = new window.math();
        
         var v = m.max(x, y);
        
         // 因为有了“<reference name="MicrosoftAjax.js" />”,所以会感知到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);
                }
 
 
OK
[源码下载]

你可能感兴趣的:(JavaScript,net,特性,debugging,IntelliSense)