天天看点

步步为营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的智能感知和调试)

介绍

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> 

        /// <returns></returns> 

        [WebMethod(Description = "返回两个整数中的最大的一个")] 

        public int Max(int x, int 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); 

                }

     本文转自webabcd 51CTO博客,原文链接:http://blog.51cto.com/webabcd/344904,如需转载请自行联系原作者

继续阅读