实用ExtJS教程100例-001:开天辟地的Hello World
ExtJS功能繁多,要想彻底的了解确实很困难。作为初学者,如何能找到一条快速的通道呢?我觉得,如果你有Javascript的基础,那就不要惧怕ExtJS的复杂,从动手开始,遇到问题,解决问题,积累经验,这是一条非常快速的学习途径。
从今天开始我将完成一系列ExtJS使用中常常用到的功能,并通过例子的形式告诉大家如何一步一步的完成,相信我,ExtJS并不可怕!
本系列教程以代码演示为主,代码讲解相结合,尽量将ExtJS的学习难度降到最低。
要学习本系列教程,你需要具有以下知识:
- 熟悉Javascript的语法,了解DOM机制
- 具备CSS基础知识
- 最好对ASP.NET编程有所了解(不是必须的,只因为服务器代码使用了ASP.NET MVC)
今天我将带领初学者朋友完成第一个例子,将ExtJS引入到你的项目中,并搭建一个模板,我们后续的例子都将以这个模板为基础进行编码。
获取ExtJS
ExtJS的官网地址:http://www.sencha.com/products/extjs
在这个网址上面,我们可以下载到ExtJS的最新版本。目前,ExtJS的最新版是4.2.1,我们将使用这个版本进行讲解。ExtJS 4.x 做了很大的改变,对3.x是不兼容的。
在页面中,我们可以找到下载按钮,下载最新这个版本的ExtJS。下载完成以后对它进行解压,接下来我们将完成Hello World 示例。
Hello World 示例
—— 我相信从无到有的过程绝对是开天辟地的。所以请尊重Hello World这个例子。
下载完以后,我们需要对压缩包进行解压。ExtJS 是开源的,所以压缩包中包含了很多源代码和调试用的一些东西,这些东西对我们开发工程中的调试很有用,但在引用的时候,我们只需要使用到:
- ext-all.js
- locale/ext-lang-zh_CN.js
- resources/css/ext-all.css
这些文件的说明如下:
- ExtJS的压缩代码,在生产环境中使用,开发中我们可以使用ext-all-debug.js来代替,方便调试。
- 简体中文语言包。
- ExtJS的样式文件,如果要更换其它主题,只需要将它替换成其它的主题文件即可。
了解了这些内容,我们就可以很轻松的完成Hello World示例了。
第一步,新建一个html文件
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
</body>
</html>
第二步,添加上述的三个文件引用
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<
script src="extjs-4.2.1/ext-all.js"></script> <script src="extjs-4.2.1/locale/ext-lang-zh_CN.js"></script> <link href="extjs-4.2.1/resources/css/ext-all.css" rel
="stylesheet" />
</head>
第三步,完成编码
我们的编码很简单,为了方便演示,我们只在页面加载完成的时候弹出一个对话框,在对话框中显示“Hello World”。代码如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>实用ExtJS教程100例-001:开天辟地的Hello World - www.qeefee.com</title>
<script src="extjs-4.2.1/ext-all.js"></script>
<script src="extjs-4.2.1/locale/ext-lang-zh_CN.js"></script>
<link href="extjs-4.2.1/resources/css/ext-all.css" rel="stylesheet" />
<script type="text/javascript">
Ext.onReady(function () { Ext.MessageBox.alert("提示", "Hello world"
);
});
</script>
代码说明:
首先在head标签中添加一个script标签,用来在里面添加我们自己的js代码
然后调用Ext.onReady()方法,这个方法会在DOM加载完成以后调用传入的方法,如果使用过jquery,这个方法就不难理解。通常我们会将代码放在页面加载完成以后执行。
在传入的方法中,我们使用Ext.MessageBox.alert()方法弹出一个对话框,这个方法的第一个参数的标题,第二个参数是内容。
我们的页面在浏览器中的效果如下:

这个对话框显得非常精美,显得非常专业,可以用高端大气上档次来形容了,这也是为什么那么多人喜欢ExtJS的原因。
在ASP.NET MVC中搭建模板
看到了吧,如果我们决定动手的时候,ExtJS也并不是那么麻烦,一个简单的Hello World已经把你带入ExtJS的世界,在这个世界里还有更多更好玩儿的东西等着你来发现,但在出发之前,我们先来完善一下装备吧。
由于我比较擅长使用ASP.NET,本系列的例子将使用ASP.NET MVC来提供服务器端的支撑。由于ExtJS的平台无关性(只与浏览器有关),Java和php方面的朋友也可以毫无顾忌的参考这些例子。
在使用ASP.NET MVC的时候,我们通常会用到layout页面,我们来完成一个通用的layout页面,在接下来的示例中,我们都将使用这个布局页为基础进行编码。
我们创建好一个MVC项目,项目结构图如下:

接下来我们创建一个layout.cshtml,并修改代码:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
<link href="~/Resources/extjs-4.2.1/resources/css/ext-all.css" rel="stylesheet" />
<script src="~/Resources/extjs-4.2.1/ext-all.js"></script>
<script src="~/Resources/extjs-4.2.1/locale/ext-lang-zh_CN.js"></script>
@RenderSection("script", false)
</head>
<body>
<div>
@RenderBody()
</div>
</body>
</html>
我们只添加了ExtJS的相关引用,然后在head标签中添加了script节点的绘制。接下来我们看看这个layout页是否能正确的完成任务,我们来将刚才的HelloWorld示例使用布局页重新完成一次。
第一步,在HomeController中添加HelloWorld方法:
public ActionResult HelloWorld()
{
return View();
}
第二步,为HelloWorld方法添加视图:
@{
ViewBag.Title = "HelloWorld";
}
<h2>HelloWorld</h2>
第三步,创建一个JS文件,用来完成编码
我们在项目根目录中创建一个JSApp目录,将示例用到的JS代码都放在这个目录下面。
在JSApp目录中创建一个Home文件夹,用来对应HomeController,然后在下面创建一个HelloWorld.js,用来对应HomeController中的HelloWorld方法。这算是一种约定吧,以后我们也会遵循这种约定。
HelloWorld.js代码如下:
Ext.onReady(function () {
Ext.MessageBox.alert("提示", "Hello world");
});
第四步,修改我们的HelloWorld视图页面
修改这个视图页面,将HelloWorld.js引入页面中,修改后的代码如下:
@{
ViewBag.Title = "实用ExtJS教程100例-001:开天辟地的Hello World - www.qeefee.com";
}
@section script{
<script src="~/JSApp/Home/HelloWorld.js"></script>
}
完成上面的四步以后,运行程序,在浏览器中的截图如下:

还不错,模板页已经正常工作了。在以后的示例中,我们将使用这四个步骤来添加演示的代码。
实用ExtJS教程100例-001:开天辟地的Hello World的更多相关文章
- 实用ExtJS教程100例-008:使用iframe填充ExtJS Window组件
上面两节中我们分别演示了ExtJS Window的常用功能 和 如何最小化ExtJS Window组件,在这篇内容中我们来演示一下如何使用iframe填充window组件. 思路很简单,首先创建一个w ...
- 实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress
在上一篇内容中我们介绍了三种常用的MessageBox提示框,在这篇文章中,我们将演示如何在对话框中使用进度条. 进度条对话框 我们可以使用下面的代码来在MessageBox中显示一个进度条: Ext ...
- 实用ExtJS教程100例-011:ExtJS Form 使用JSON数据赋值和取值
上一节中我们演示了ExtJS Form的异步加载和提交数据,本节中我们将演示如何使用JSON数据为ExtJS Form中的字段赋值和取值. 系列ExtJS教程持续更新中,点击查看>>最新E ...
- 实用ExtJS教程100例-010:ExtJS Form异步加载和提交数据
ExtJS Form 为我们提供了两个方法:load 和 submit,分别用来加载和提交数据,这两个方法都是异步的. 系列ExtJS教程持续更新中,点击查看>>最新ExtJS教程目录 F ...
- 实用ExtJS教程100例-009:ExtJS Form无刷新文件上传
文件上传在Web程序开发中必不可少,ExtJS Form中有一个filefield字段,用来选择文件并上传.今天我们来演示一下如何通过filefield实现ExtJS Form无刷新的文件上传. 首先 ...
- 实用ExtJS教程100例-007:ExtJS中Window组件最小化
在上一节中我们演示了如何使用ExtJS的Window组件,这篇内容中我们来演示一下如何将窗口最小化. 要让ExtJS标题栏中显示最小化按钮并不麻烦,只需要设置 minimizable: true 即可 ...
- 实用ExtJS教程100例-006:ExtJS中Window的用法示例
在前面几个示例中,我们演示了MessageBox的各种用法,今天这篇文章将演示如何使用Window. 我们首先来创建一个窗口: var win = Ext.create("Ext.windo ...
- 实用ExtJS教程100例-005:自定义对话框Ext.MessageBox.show
我们对ExtJS对话框进行了三篇演示: MessageBox的三种用法 进度条对话框Ext.MessageBox.progress 等待对话框Ext.MessageBox.wait 通过上面三篇内容的 ...
- 实用ExtJS教程100例-004:等待对话框Ext.MessageBox.wait
在前面两节中,我们分别演示了ExtJS三种常用的对话框和ExtJS带有进度条的对话框.在本节内容中,我们来看看ExtJS中的等待对话框. 首先来看一个简单的例子[查看在线示例]: 这种对话框会一直滚动 ...
随机推荐
- 欢迎来到abc2237512422的博客
这是第一篇博文. 本博客已迁移到 abc233.site
- Java编程的逻辑 (20) - 为什么要有抽象类?
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- .NetCore 下使用多个DbContext
一个项目中使用多个DbContext 或者种数据库的多个DbContext 业务需要 单个DbContext使用不需要给出说明 1.dotnet ef migrations add migration ...
- 重读redux源码(一)
前言 对于react技术栈的前端同学来说,redux应该是相对熟悉的.其代码之精简和设计之巧妙,一直为大家所推崇.此外redux的注释简直完美,阅读起来比较省事.原本也是强行读了通源码,现在也忘得差不 ...
- 【Ray Tracing in One Weekend 超详解】 光线追踪1-3
学完了插值,我们来学习在场景里面添加一个立体彩色球(三维插值) 按照惯例,先看效果: Chapter4: Adding a sphere 我们又一次面临图形学的主要任务. 我们需要再次回顾coord1 ...
- java基础记录(一):开发环境的配置
一.JDK的安装与环境变量配置 1.jdk下载与安装. jdk1.8.0_192下载地址 下载完成后,双击运行安装文件.可以选择你要安装的位置或者直接下一步,等待安装完成,最后关闭. 2.配置环境变量 ...
- hdu 5821 Ball 贪心
Ball 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5821 Description ZZX has a sequence of boxes nu ...
- c# 实现获取汉字十六进制Unicode编码字符串
1. 汉字转十六进制UNICODE编码字符串 /// <summary> /// //// /// </summary> /// & ...
- jquery json 格式教程
介绍 我们知道AJAX技术能够使得每一次请求更加迅捷,对于每一次请求返回的不是整个页面,也仅仅是所需要返回的数据.通常AJAX通过返回XML格式的数据,然后再通过客户端复杂的JavaScript脚本解 ...
- 设计模式之七:模板方法模式(Template Method)
模板方法模式: 定义了一个算法的基本操作骨架,并将算法的一些步骤延迟到子类中来实现. 模板方法模式让子类在不更改算法结构的前提下能够又一次定义算法的一些步骤. Define the skeleton ...