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