【Asp.net入门3-01】使用jQuery-创建示例项目
过去,浏览器除了显示HTML外,很少具有其他功能。因此,早期的Web应用程序需要依赖服务 器端代码来响应用户交互并执行数据操作。Web应用程序的交互依赖HTML表单元素和浏览器向服务 器发送数据的功能实现。 随着Web浏览器技术的不断发展,Web应用程序领域也发生了巨变。现代浏览器复杂而且功能强 大,提供了各种用于客户端JavaScript编程的API。如今,纯粹由服务器端代码构成的Web应用程序已 经很少见了,因此,客户端技术对于创建优秀的Web应用程序至关重要。 最常用的浏览器API为DOM API,使用该API可对文档对象模型(DOM)执行操作。对DOM所做 的更改将在向用户显示的HTML中反映出来。因此,任何希望提供客户端功能的Web应用程序都会在 一定程度上使用DOM API。遗憾的是,DOM API不太好用——它极其繁琐而且结构不合理;此外,不 同浏览器之间在应用DOM API方面也存在一些奇怪的问题及实现差异。 使用JavaScript DOM操作库对DOM API进行包装,可以使DOM API更易于使用。其中一个最常用 的库就是jQuery,Microsoft的ASP.NET Framework中已采用了该库。本章将简单介绍jQuery的基本功能。
注意
本章不会深入介绍jQuery,因为jQuery这个主题本身就可以写一本书了。如果你希望详细了解jQuery,可以参考"从零开始学习jQuery (一) 开天辟地入门篇"(地址:http://www.cnblogs.com/zhangziqiu/archive/2009/04/30/jQuery-Learn-1.html),请参阅《精通jQuery》一书(下载地址:http://pan.baidu.com/s/1kVRR7qZ),或访问jquery.com网站。
创建示例项目
为了演示jQuery的用法,使用ASP.NET Empty Web Application 模板新建一个Visual Studio项目 UsingjQuery。这里将使用Web窗体生成HTML,并使用jQuery对其执行操作。本章中的大多数示例都 将使用一个简单的静态HTML文件,我们希望强调的是,Web窗体与jQuery能够和谐共存。在项目中 添加一个新Web窗体Default.aspx,该文件的内容如代码清单4-1所示。
代码清单4-1 Default.aspx Web窗体的内容
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="UsingjQuery.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Summits</title>
<link rel="stylesheet" href="Styles.css" />
</head>
<body>
<h2>Summits</h2>
<table id="peaksTable">
<thead><tr><th class="name">Name</th><th>Height (m)</th></tr></thead>
<tbody id="tableBody">
<tr><td class="name">Everest</td><td class="height">8848</td></tr>
<tr><td class="name">Aconcagua</td><td class="height">6962</td></tr>
<tr><td class="name">McKinley</td><td class="height">6194</td></tr>
<tr><td class="name">Kilimanjaro</td><td class="height">5895</td></tr>
<tr><td class="name">K2</td><td class="height">8611</td></tr>
</tbody>
</table>
<input type="button" value="Delete" />
</body>
</html>
这个Web窗体中并没有代码片段,这里希望使用静态HTML来演示基本的jQuery功能。没有更改 Visual Studio创建的Default.aspx.cs代码隐藏文件。
注意,Default.aspx文件中使用link元素导入了名为Styles.css的CSS样式表,该文件的内容如代码 清单4-2所示。
代码清单4-2 Styles.css文件的内容
button {
margin-top: 5px;
} table, td, th {
border: thin solid black; border-collapse: collapse; padding: 5px;
background-color: lemonchiffon; text-align: left; margin: 10px 0;
} .highlight {
border: thick solid red;
padding: 2px;
background-color: lightgray;
font-size: larger;
}
从Visual Studio的Debug菜单中选择Start Debugging,即可在浏览器中查看HTML和CSS,如图4-1所示
在示例项目中添加jQuery
Visual Studio集成了NuGet程序包管理器,该管理器可轻松下载并安装常用的程序包,包括jQuery等 JavaScript库。NuGet负责管理程序包之间的依赖关系,能够快速、高效地升级到所需的最新版本的程序包。 从Visual Studio的Project菜单中选择Manage NuGet Packages(管理NuGet程序包),此时将显示 NuGet窗口。在左侧窗格中选择Online(联机)类别,然后在窗口右上角的搜索框中键入jQuery。NuGet 将列出jQuery以及其他许多名称中包含jQuery的程序包。找到主要的jQuery库,然后单击Install(安装) 按钮,如图4-2所示。NuGet将下载并安装最新版本的jQuery库。
NuGet将在项目中创建一个Scripts文件夹(这是Web窗体存储JavaScript文件的惯常做法),并在该文件 夹中添加3个新文件,如图4-3所示。你看到的文件可能会有所不同,因为NuGet会安装最新版本的jQuery。
jquery-1.8.2.js文件是jQuery库的调试版本,它包含易读的函数和变量名,以及经过格式化以便破 译(调试客户端代码的一个重要方式)的代码。jquery-1.8.2.min.js文件是jQuery库的微缩版本,将在 最终的应用程序中部署。微缩文件更小,所有格式和有意义的名称都被删除,因此难以跟踪问题。 本章将使用该文件的调试版本,第8章将介绍如何使用“捆绑”功能来优化JavaScript文件的用法, 以及如何自动在调试和微缩版本之间切换。第三个文件jquery-1.8.2.intellisense.js提供了一些信息,便 于让Visual Studio自动执行在Web窗体文件中的jQuery函数。稍后将介绍这方面的内容。
在Web窗体中添加jQuery
我们需要在Default.aspx文件中添加两个script元素才能使用jQuery。一个script元素导入jQuery 库,另一个元素定义或导入利用jQuery的代码。本章将使用Scripts文件夹中的另一个Default.js脚本文 件来定义代码。上面提到的两个script元素如代码清单4-3所示。
代码清单4-3 在Default.aspx文件中添加script元素
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="UsingjQuery.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Summits</title>
<link rel="stylesheet" href="Styles.css" />
<script src="/Scripts/jquery-1.8.2.js"></script>
<script src="/Scripts/Default.js"></script>
</head>
<body>
<h2>Summits</h2>
<table id="peaksTable">
<thead><tr><th class="name">Name</th><th>Height (m)</th></tr></thead>
<tbody id="tableBody">
<tr><td class="name">Everest</td><td class="height">8848</td></tr>
<tr><td class="name">Aconcagua</td><td class="height">6962</td></tr>
<tr><td class="name">McKinley</td><td class="height">6194</td></tr>
<tr><td class="name">Kilimanjaro</td><td class="height">5895</td></tr>
<tr><td class="name">K2</td><td class="height">8611</td></tr>
</tbody>
</table>
<input type="button" value="Delete" />
</body>
</html>
右键单击Scripts文件夹,然后从弹出式菜单中选择Add→JavaScript File(JavaScript文件),将 Default.js文件添加到项目中。将项名称设置为Default,然后单击OK按钮创建该文件。
提示:
与编写静态HTML页面时一样,在Web窗体中添加JavaScript文件的顺序非常重要。Default.js
文件将调用由jQuery定义的函数,因此,必须确保jquery-1.8.2.js的script元素出现在Default.js
的script元素之前。
Default.js文件一开始仅在JavaScript文件中添加一行代码,如代码清单4-4所示。
从Solution Explorer的Scripts文件夹拖动jquery-1.8.2.js项,然后将其放置到Default.js文件的代码编辑器上,从而创建了这一行代码。其中的reference元素允许Visual Studio为jQuery代码提供代码完成支持。这段代码将被自动注释,因为它不是有效的JavaScript代码(即便如此,Visual Studio仍会找到 并处理该代码)。
【Asp.net入门3-01】使用jQuery-创建示例项目的更多相关文章
- Web开发入门教程:Pycharm轻松创建Flask项目
Web开发入门教程:Pycharm轻松创建Flask项目 打开Pycharm的file,选择创建新的项目,然后弹出对话框,我们可以看到里面有很多的案例,Flask.Django等等,我们选择生成Fla ...
- Maven快速入门(二)手动创建maven项目hellomaven
之前讲过Maven介绍及环境搭建,介绍了maven的作用和如何搭建maven环境.接下来就以一个helloworld的例子来说一说如何创建maven项目以及maven项目的项目结构,最后讲maven如 ...
- (3)Maven快速入门_3在Eclipse中创建Maven项目打包成jar
Eclipse中创建Maven项目 new ---> maven project ----> next 如下 普通java项目 选择 如下 quickstart 创建项目 : 输入 G ...
- 【MVC 4】3.MVC 基本工具(创建示例项目、使用 Ninject)
作者:[美]Adam Freeman 来源:<精通ASP.NET MVC 4> 本次将考察三类工具,它们是每一位 MVC 程序员工具库的成员:DI容器.单元测试框架和模仿工具. ...
- Springmvc入门基础(一) ---基于idea创建demo项目
Springmvc是什么 Springmvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来,如下图: Springmvc处理流程 ---- ...
- 【Asp.net入门2-01】C#基本功能
C#是一种功能强大的语言,但并不是所有程序员都熟悉我们将在本书中讨论的所有功能.因此, 本章将介绍优秀的Web窗体程序员需要了解的C#语言功能. 本章仅简要介绍每一项功能.有关C#语言本身的知识不是本 ...
- IDEA02 利用Maven创建Web项目、为Web应用添加Spring框架支持、bean的创建于获取、利用注解配置Bean、自动装配Bean、MVC配置
1 环境版本说明 Jdk : 1.8 Maven : 3.5 IDEA : 专业版 2017.2 2 环境准备 2.1 Maven安装及其配置 2.2 Tomcat安装及其配置 3 详细步骤 3.1 ...
- C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式
C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
IT咨询顾问:一次吐血的项目救火 年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...
随机推荐
- PHP--面向对象的设计原则
三大特性是:封装.继承.多态 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 封装是面向对象的特征之一,是对象和类概念的主要特 ...
- Openresty(Lua+Nginx)实践
简介: OpenResty(也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. OpenRest ...
- 哪些场景下无法获得上一页referrer信息
哪些场景下无法获得上一页referrer信息 直接在浏览器地址栏中输入地址: 使用 location.reload() 刷新(location.href 或者 location.replace() ...
- Daily Scrum4 11.6
昨天的任务按时完成了,但是通过不到两周的时间,我们的工作依旧停留在修改上届学长代码中.今天上课和老师提出了这样的问题,助教在TFS上重新加载了10级学长的代码. 从上届学长代码那里我们发现,他们没有实 ...
- 20145214《网络攻防》逆向及Bof基础实践
20145214<网络攻防>逆向及Bof基础实践 实践说明 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何 ...
- java怎样把后台值传到前台
后台代码:if(this.Request["type"]!=null){aaa=this.Request["type"].ToString(); try{bbb ...
- java中的互斥锁和信号量的区别
互斥锁和信号量都是操作系统中为并发编程设计基本概念,互斥锁和信号量的概念上的不同在于,对于同一个资源,互斥锁只有0和1 的概念,而信号量不止于此.也就是说,信号量可以使资源同时被多个线程访问,而互斥锁 ...
- 用CSS3的animation轻松实现背景动画:漂浮的云
背景动画如果用的恰当,会给网页带来意想不到的效果.在过去,我们只能用flash或Javascript来实现.幸运的是,CSS3的流行使得我们完全可以使用它来实现这种效果,不再依赖其它编程技术.一段简单 ...
- angularJS1笔记-(1)-多控制器
前端写好: <div ng-app="myApp"> <div ng-controller="firstController"> < ...
- python下的Box2d物理引擎的配置
/******************************* I come back! 由于已经大四了,正在找工作 导致了至今以来第二长的时间内没有更新博客.向大家表示道歉 *********** ...