EXT.NET - 基础

概述

本文介绍Ext.NET的基本概念,安装配置、布局以及容器,最后介绍了DirectEvents、DirectMethod、Listener,并提供了示例代码。

示例代码下载地址>>>>>

Ext.NET 简介

Ext.NET 是基于跨浏览器的 Sencha ExtJS 库和.NET Framework的一套支持ASP.NET AJAX的非开源Web控件,包含有丰富的Ajax运用,其前身是Coolite 。

Ext.NET使用一种自己的翻译机制,将ASPX页面中的EXT.NET标记代码翻译成EXTJS,浏览器中执行的还是EXTJS代码,类似于 Sencha GXT ,至于EXTJS的由来不清楚的话可以问度娘。

EXT.NET也对EXTJS做了一些自己的扩展。EXT.NET在2.3之前是开源的;在1.0之前叫做Coolite。

最新的EXT.NET 3.1

Ext.NET 最新版本是3.1,基于 EXTJS 5.1.0,与 EXT.NET 2.X 的主要区别是多了对平板设备的支持,当然,这主要是由于 Ext.NET 2.X 系列是基于 EXTJS 4.X,自从EXTJS 5.0 才有对平板设备的支持。

如下是EXT.NET官方下载页面给出的说明:

  Ext.NET 3.1 Ext.NET 2.5.3
Ext Js 版本 Ext JS 5.1.0 Ext JS 4.2.1
发布时间 2015-02-17 2014-11-05
.NET Framework要求 .NET 4.0, 4.5 & 4.5.1 .NET 3.5, 4.0 , 4.5 & 4.5.1
CPU 32 & 64 bit 32 & 64 bit
Visual Studio 2010, 2012 & 2013 2008, 2010, 2012 & 2013
桌面浏览器支持 Chrome,Firefox,IE8+,Safari 6+,Opera 12+ Chrome,Firefox,IE6+,Safari 6+,Opera 12+
平板浏览器支持 Safari iOS6+,Chrome Android 4.1+,IE10+ Win8 不支持
  2015年2季度或3季度发布Ext.NET 3.2.0 不再发布新版本

为什么使用Ext.NET

上面提到,Ext.NET是对ExtJS的.NET封装,那么为么不直接用ExtJS呢?
1. 一整套专业的前端框架,兼容各种主流浏览器(甚至IE6),很少需要引入第三方库,降低了学习成本;
2. 减少了javascript的代码量,易于维护,同时又不失ExtJs的灵活性;
3. 提供的DirectEvents和DirectMethod,使调用服务器端方法更为简单;
4. 使ASP.NET开发人员更容易理解和使用ExtJS;

总之,减少了工作量,降低了学习成本;不过在实际的使用中,还是需要写一些简单的javascript代码。

关于ExtJS这里不多介绍,其提供的多种主题样式,尤其适用于企业应用开发,很少需要美工的介入,这一点对于小型团队来说,尤其缺少专业美工的情况下,颇为实用。
关于请参见Sencha官方博客,其中有Extjs与AngularJS的比较。

ExtJS vs AngularJS

开发环境配置

官方的Readme以及Visual Studio配置说明已经说的很清楚了,两种方法: 自动配置 和 手动配置。

至于添加到VS工具箱拖拽控件至页面,基本没用,还是省省时间吧,Ext.NET基本没有对设计时可视化支持的,这也是入门较难的原因之一。

自动配置(推荐)

使用NuGet,新手推荐使用这种方式,因为——简单
方法如下:
1. 打开Visual Studio,菜单栏 工具 > 扩展和更新,安装 NuGet程序包管理器,通常,VS2013已经自动安装了,若没有,左侧点 联机,右上方搜索框中输入 NuGet ,具体安装过程 参见此处,安装完成会需要重启VS。
若是搜不出来,改DNS/翻墙/VPN/改Host文件等问度娘。
2. VS中新建空Web项目,解决方案资源管理器中项目名称上 右键 > 管理NuGet程序包 ,左侧点 联机,右上方搜索框中输入 ext.net,安装之。
管理NuGet程序包NuGet安装EXT.NET
耐心等待,Ext.NET的DLL也要好几十M的,经过无聊的等待后,开发环境自动配置好了,来看看NuGet都自动做了些什么:

  • 自动下载了相关DLL文件,请打开项目所在物理路径看看;
  • 根据当前Web项目.NET Framework版本自动添加了Ext.NET的DLL对应.NET版本,包括Ext.NET本身的依赖DLL;
  • 自动配置好了项目的Web.Config文件。

我们手动要做的无非就这几个事情。
下图是Ext.NET3.1.0的依赖关系:
Ext.NET3.1.0依赖项

也就意味着手动配置的话需要为项目添加这些依赖项的引用。
自动添加的 APP_Readme 目录和 Ext.Net.Default.aspx (测试页面)可以删除。

手动配置

  1. 下载DLL文件;
  2. 项目中添加对DLL的引用;
  3. 配置 Web.Config 文件。

至于如何手动配置,请参见前面提到的Readme以及Visual Studio配置说明

WEB.CONFIG中<extnet />配置说明

默认的配置如下

<extnet theme="Crisp"
            licenseKey="** Ext.NET LICENSE KEY HERE **"
            initScriptMode="Linked" />

Readme文件中有详尽的<extnet/>属性配置说明,下面列出几个比较常用的:

  • ajaxTimeout : 设置默认的AJAX请求超时时间
    默认为30000(30秒),单位毫秒.
  • glyphFontFamily : 为支持Glyph的组件设置字体名称
    如:FontAwesome,需要页面引入相关的字体css文件,默认为空.
  • licenseKey : Ext.NET License key
  • scriptMode: 指定javascript代码呈现方式。
    默认值: “Release”. 可选项有 ReleaseDebugDevelopment
    • Release (压缩过的)
    • Debug(不压缩)
    • Development(非压缩且带debug信息) 经验证,此项不可用
  • sourceFormatting : 是否格式化EXT.NET生成的javascript代码
    默认值为 is ‘false’. 可选项有 [true|false]
  • theme : 默认主题样式
    默认值为”Default” (经典的蓝色主题). 可选项有 DefaultAccessGrayNeptuneNeptune TouchCrispCrisp Touch

开始之前

模板窗体

新建WebForm页面,默认body中的内容删除掉。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ExtNetTemplate.aspx.cs" Inherits="WebFormDemo.ExtNetTemplate" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>ExtNetTemplate</title>
</head>
<body>
    <ext:ResourceManager runat="server" />
</body>
</html
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
.net EXT学习资料与源码 ext是一个强大的js类库,以前是基于YAHOO-UI,现在已经完全独立了,   主要包括data,widget,form,grid,dd,menu,其中最强大的应该算grid了,编程思想是基于面对对象编程(oop),扩展性相当的好.可以自己写扩展.自己定义命名空间.web应用可能感觉太大.不过您可以根据需要按需加载您想要的类库就可以了.   主要包括三个大的文件ext-all.css,ext-base.js,ext-all.js(包括所有的类库,您可以根据需要进行删减.官方网站提供这一接口),在引用ext类库的时候.这三个文件必不可少.   它提供了丰富的,非常漂亮的外观体验,成为众多界面层开发人员的追捧!其核心的组件基本覆盖了我们构建富客户端的常用的组件。   从 Ext 2开始,商业版(针对那些以盈利为目的的开发方)要收费了。这可能会影响一些他的应用前景。   目前的最新版本为3.0RC,该版本是在2009年4月15日发布的。 三层架构,   三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。   1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。   2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。   3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。 [编辑本段]概述   在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。   三层结构原理:   3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。   所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。   三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。   表示层    位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。   业务逻辑层    业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。   业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。   数据层    数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。   简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值