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

[索引页]
[源码下载]


步步为营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
[源码下载]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值