程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> VS2008與.NET 3.5的JS智能感知和調試

VS2008與.NET 3.5的JS智能感知和調試

編輯:關於.NET

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved