步步为营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文件)
WebServiceMath.asmx(为ASP.NET AJAX提供服务的WebService)
//
创建一个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");
}
<%
@ 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);
}
from:http://www.cnblogs.com/webabcd/archive/2007/10/10/918913.html