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

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

編輯:關於ASP.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 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);
        }  

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