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);
}