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

ASP.NET
Asp.net 时间操作基类(支持短日期,长日期,时间差)
asp.net 获取机器硬件信息(cpu频率、磁盘可用空间、内存容量等)
asp.net 数据库备份还原(sqlserver+access)
Asp.Net 数据操作类(附通用数据基类)
Asp.net 弹出对话框基类(输出alet警告框)
Asp.net 文件上传类(取得文件后缀名,保存文件,加入文字水印)
Asp.net Socket客户端(远程发送和接收数据)
Asp.net 字符串操作基类(安全,替换,分解等)
Asp.Net数据输出到EXCEL表格中
asp.net Gridview里添加汇总行
asp.net UpdatePanel的简单用法
asp.net ajaxControlToolkit FilteredTextBoxExtender的简单用法
this connector is disabled错误的解决方法
sql事务应用积累
asp.net Page.Controls对象(找到所有服务器控件)
在asp.NET中字符串替换的五种方法
ASP.NET缓存方法分析和实践示例代码
asp.net 在DNN模块开发中遇到的resx怪问题
ASP.NET State service状态服务的问题解决方法
asp.net 结合mysql存储过程进行分页代码

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


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