步步为营VS 2008 + .NET 3.5(2) - VS 2008新特性之JavaScript Intellisense and Debugging

简介:
[索引页]
[源码下载]


步步为营VS 2008 + .NET 3.5(2) - VS 2008新特性之JavaScript Intellisense and Debugging(JavaScript的智能感知和调试)


作者: webabcd


介绍
VS 2008可以非常完美地支持JavaScript和ASP.NET AJAX的智能感知和调试。.NET 3.5内置了ASP.NET AJAX,并且UpdatePanel终于可以支持WebPart了。


示例
Feature.js(被aspx页引用的js文件)
// 创建一个math类 
window.math =  function()    

/// <summary>数学函数类</summary> 


window.math.prototype = 

         // 为math类创建一个max方法 
        max:  function(x, y) 
        { 
        /// <summary>返回两个整数中的最大的一个</summary> 
        /// <param name= "x">需要比较的第一个整数</param> 
        /// <param name= "y">需要比较的第二个整数</param> 
         
                 if (x > y) 
                         return x; 
                 else 
                         return y; 
        } 
}
 
Feature2.js(在js文件中智能感知外部js文件的JavaScript和ASP.NET AJAX)
/// <reference path= "Feature.js" /> 
/// <reference name= "MicrosoftAjax.js" /> 

// 外部js文件用这种方法引进来<reference path="Feature.js" /> 
// <asp:scriptmanager>控件引入的js用这种方法引进来<reference name="MicrosoftAjax.js" /> 

function refTest() 

         // 因为有了“<reference path="Feature.js" />”,所以会感知到Feature.js提供的JavaScript 
         var m =  new window.math(); 
         
         var v = m.max(x, y); 
         
         // 因为有了“<reference name="MicrosoftAjax.js" />”,所以会感知到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); 
                }
 
 



     本文转自webabcd 51CTO博客,原文链接: http://blog.51cto.com/webabcd/344904 ,如需转载请自行联系原作者


相关文章
|
4月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
50 5
|
4月前
|
人工智能 开发框架 .NET
.NET技术的强大功能:.NET技术的基础特性、在现代开发中的应用、以及它如何助力未来的软件开发。
.NET技术是软件开发领域的核心支柱,以其强大功能、灵活性及安全性广受认可。本文分三部分解析:基础特性如多语言支持、统一运行时环境;现代应用如企业级与Web开发、移动应用、云服务及游戏开发;以及未来趋势如性能优化、容器化、AI集成等,展望.NET在不断变化的技术环境中持续发展与创新。
128 4
|
2月前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
37 1
|
2月前
|
JavaScript 前端开发 编译器
掌握现代化JavaScript:ECMAScript提案与特性
【10月更文挑战第13天】本文介绍了ECMAScript(ES)的最新提案与特性,包括可选链、空值合并运算符、类字段和顶层Await等。通过跟踪TC39提案、使用Babel或TypeScript、测试兼容性以及逐步迁移,开发者可以高效地采用这些新特性,简化代码、提高开发效率并增强应用功能。文章还提供了实战技巧,帮助开发者在现代Web开发中充分利用这些现代化的特性。
|
2月前
|
JavaScript 前端开发 索引
JavaScript ES6及后续版本:新增的常用特性与亮点解析
JavaScript ES6及后续版本:新增的常用特性与亮点解析
46 4
|
1月前
|
前端开发 JavaScript
JavaScript新纪元:ES6+特性深度解析与实战应用
【10月更文挑战第29天】本文深入解析ES6+的核心特性,包括箭头函数、模板字符串、解构赋值、Promise、模块化和类等,结合实战应用,展示如何利用这些新特性编写更加高效和优雅的代码。
43 0
|
2月前
|
存储 编译器
.Net特性Attribute的高级使用
【10月更文挑战第14天】在.NET中,特性(Attribute)是一种强大的机制,用于在代码中添加元数据。本文介绍了特性的高级用法,包括自定义特性、通过反射读取特性、条件编译与特性结合、多个特性应用以及特性继承。通过示例展示了如何创建自定义特性类、应用自定义特性,并通过反射获取特性信息。此外,还介绍了如何利用条件编译符号实现不同版本的代码控制,以及如何在一个代码元素上应用多个特性。最后,探讨了如何通过`AttributeUsage`控制特性的继承行为。
|
3月前
|
JavaScript 前端开发 Oracle
软件工程师,学习下JavaScript ES6新特性吧
软件工程师,学习下JavaScript ES6新特性吧
44 9
|
4月前
|
数据采集 JavaScript 前端开发
通过ClearScript V8在.NET中执行复杂JavaScript逻辑
爬虫技术是数据采集的关键手段。针对动态加载的网页,传统HTTP请求及HTML解析难以满足需求。本文章介绍如何利用ClearScript V8库在.NET环境中执行复杂的JavaScript逻辑,以提高爬虫对动态内容的抓取效率。文章首先概述了ClearScript V8的功能,如何处理如微博这类含有大量动态加载内容的网站。通过使用代理IP、设置cookie和user-agent等方式模拟真实用户访问,确保了爬虫的稳定性和隐蔽性。提供了一个具体的C#爬虫示例,演示如何结合ClearScript V8和HTTP客户端来实现上述功能。这种方法不仅增强爬虫的灵活性,也极大地提高数据采集的效率和可靠性。
139 1
通过ClearScript V8在.NET中执行复杂JavaScript逻辑
|
4月前
|
Rust JavaScript 前端开发
Rust! 无VDom! 尤雨溪解析 Vue.js 2024 新特性
Rust! 无VDom! 尤雨溪解析 Vue.js 2024 新特性