当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > VS2008与.NET 3.5的JS智能感知和调试

ASP.NET
asp.net实现C#代码加亮显示
如何显示在线人数和所在位置
ASP.net生成文字图片
ASP.NET提供文件下载函数
一个简单的ASP.NET Forms 身份认证
在ASP.NET中实现多文件上传
asp.net 2.0中使用sitemapDATAsource做页面导航
通过ASP.net程序创建域帐户故障
为ASP.NET封装的SQL数据库访问类
在ASP.NET中跟踪和恢复大文件下载
SQL存储过程在.NET数据库中的应用
对“学号”、“身份证”的数字分析
把.NET程序部署到没有安装.NET Framwork的机器上
ASP.NET中同时支持简体和繁体中文
几十个ASP.NET性能优化的常用方法
.NET环境下五种邮件发送解决方案
.NET开发中正则表达式中BUG一例
.NET反射、委托技术与设计模式
.net中Windows窗体间的数据交互
ADO.NET访问Oracle 9i存储过程(上)

ASP.NET 中的 VS2008与.NET 3.5的JS智能感知和调试


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 51 ::
收藏到网摘: n/a

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