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

ASP.NET
不同映射模式下的直线输出的效果问题
ASP.NET开发下的MVC设计模式的实现
ASP.NET编写应用程序的十大技巧
ASP.NET中使用AJAX的简单方法
ASP.NET MVC实现自己的视图引擎
认识asp.net会话状态
ASP.NET实现页面传值的几种方法
.NET中容易混淆的几组重要概念
详解.NET中的动态编译技术
如何使用ASP.Net加密Cookie
ASP.NET 2.0跨网页提交的三种方法
ASP.NET 2.0创建母版页引来的麻烦
.Net整合其他平台的一些探讨
ASP.NET编程经验技巧10则
最佳实践 ADO.NET实用经验无保留曝光
在.NET上执行多线程操作要考虑的两大因素
.Net开发 细说Visual Basic.Net
ASP.NET网络编程中经常用到的27个函数集
ASP.NET防止用户多次登录的方法
对ASP.NET MVC项目中的视图做单元测试

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 47 ::
收藏到网摘: 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);
        }