过去,浏览器除了显示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-创建示例项目的更多相关文章

  1. Web开发入门教程:Pycharm轻松创建Flask项目

    Web开发入门教程:Pycharm轻松创建Flask项目 打开Pycharm的file,选择创建新的项目,然后弹出对话框,我们可以看到里面有很多的案例,Flask.Django等等,我们选择生成Fla ...

  2. Maven快速入门(二)手动创建maven项目hellomaven

    之前讲过Maven介绍及环境搭建,介绍了maven的作用和如何搭建maven环境.接下来就以一个helloworld的例子来说一说如何创建maven项目以及maven项目的项目结构,最后讲maven如 ...

  3. (3)Maven快速入门_3在Eclipse中创建Maven项目打包成jar

    Eclipse中创建Maven项目 new ---> maven project  ----> next 如下 普通java项目 选择  如下 quickstart 创建项目 : 输入 G ...

  4. 【MVC 4】3.MVC 基本工具(创建示例项目、使用 Ninject)

    作者:[美]Adam Freeman      来源:<精通ASP.NET MVC 4> 本次将考察三类工具,它们是每一位 MVC 程序员工具库的成员:DI容器.单元测试框架和模仿工具. ...

  5. Springmvc入门基础(一) ---基于idea创建demo项目

    Springmvc是什么 Springmvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来,如下图: Springmvc处理流程 ---- ...

  6. 【Asp.net入门2-01】C#基本功能

    C#是一种功能强大的语言,但并不是所有程序员都熟悉我们将在本书中讨论的所有功能.因此, 本章将介绍优秀的Web窗体程序员需要了解的C#语言功能. 本章仅简要介绍每一项功能.有关C#语言本身的知识不是本 ...

  7. 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 ...

  8. 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 ...

  9. IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题

    IT咨询顾问:一次吐血的项目救火   年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...

随机推荐

  1. XSS攻击防御篇

    前言   上篇文章中提到了 XSS 攻击,而且,也从几个方面介绍了 XSS 攻击带来的严重影响.那么,这篇文章中,主要是针对 XSS 攻击做一个基本的防御,看看可以通过几种方式来修复这个特别常见的安全 ...

  2. 卸载CentOS7自带的OpenJDK

    http://blog.csdn.net/xiegh2014/article/details/52343438

  3. PSP Daily新增功能说明书

    1.选择输入类别时可以记录原来的输入,支持用户选择记录清空功能 2.添加“恢复最近”button,点击这个按钮可以跳出一个页面显示最近的excel记录,用户可以通过勾选相应的excel文件名,恢复选中 ...

  4. Scrum Meeting 2 -2014.11.2

    今天大家读完代码后又聚在了一块讨论了许多.确定了重点的任务和分工细节.提出了许多问题和改进的方案.还有讨论分析了关于团队作业 - 软件分析和用户需求调查,初步决定目标软件为必应的输入法和词典,团队为争 ...

  5. HDU 4123 Bob’s Race 树形dp+单调队列

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4123 Time Limit: 5000/2000 MS (Java/Others) Memory L ...

  6. What is ASP.NET SignalR

    什么是ASP.NET SignalR ASP.NET SignalR是ASP.NET开发人员的新库,它使得为应用程序添加实时Web功能变得非常简单. 什么是“实时网络”功能?它能够让您的服务器端代码实 ...

  7. asp.net如何隐藏表格(table)的一行

    直接用jquery $("#id1").click(function(){ $("#trId").css("display""no ...

  8. mysql 随机获取一条或多条数据

    若要在i ≤r≤ j 这个范围得到一个随机整数r ,需要用到表达式 FLOOR( RAND() * (j – i)+i),RLOOR()取整树部分,RAND()生成0~1的随机数.ROUND(x,n) ...

  9. vue开发 ES5——> ES6设置

  10. 实现Java中的ArrayList

    最近深受轮子哥影响,觉得造一些轮子应该会对自己的技术功底有一定的帮助,就决定先从简单的容器开始实现.废话不多说,就先实现一个Java中的ArrayList. ArrayList是我们在Java中使用非 ...