国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Ext.NET-基礎篇

2019-11-17 02:05:48
字體:
來源:轉載
供稿:網友

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.1Ext.NET 2.5.3
Ext Js 版本Ext JS 5.1.0Ext JS 4.2.1
發布時間2015-02-172014-11-05
.NET Framework要求.NET 4.0, 4.5 & 4.5.1.NET 3.5, 4.0 , 4.5 & 4.5.1
CPU32 & 64 bit32 & 64 bit
Visual Studio2010, 2012 & 20132008, 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/FQ/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". 可選項有 Release、DebugDevelopment
  • Release (壓縮過的)
  • Debug(不壓縮)
  • Development(非壓縮且帶debug信息) 經驗證,此項不可用

    • sourceFormatting : 是否格式化EXT.NET生成的javascript代碼默認值為 is 'false'. 可選項有 [true|false]
    • theme : 默認主題樣式默認值為"Default" (經典的藍色主題). 可選項有 Default、access、GrayNeptune、Neptune Touch、Crisp、Crisp 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>

若是<body>中輸入 <ext 沒有自動代碼提示的話,重新加載Web項目或重新打開解決方案即可。

<ext:ResourceManager runat="server" />必須在<body></body>中第一行,因為它負責為頁面添加js和各種css文件的引用。

為javascript代碼添加EXTJS代碼提示

Web項目開發,無法避免編寫javascript腳本,VS提供的Intellisense方便快捷,如何添加javascriptEXTJS的代碼提示支持?在Web項目的Scripts目錄中(若沒有新建)添加_references.js文件,并輸入如下代碼;

/// <autosync enabled="true" />/// <reference name="Ext.Net.Build.Ext.Net.extjs.ext-all-debug.js" assembly="Ext.Net" />/// <reference name="Ext.Net.Build.Ext.Net.extnet.extnet-all-debug.js" assembly="Ext.Net" />

這樣項目中的js文件中,就有了代碼提示。支持的就不夠全不夠好?因為Sencha官方現在好像只提供對Sublime Text的支持,有好的方法別忘了告訴我,謝謝。使用時可查看 ExtJs官方API文檔。

CSS說明

Ext.NET/EXTJS都是用的CSS來控制樣式的,若想自定義,自己加一個css樣式表文件引用至實際的ASPX頁面中就可以。針對中文覆蓋默認字體的CSS定義,新建ExtjsExtra.css文件,內容如下:

/*#region Extjs樣式擴展*/* {     font-family: 'Helvetica', 'Tahoma', 'Arial', "Microsoft YaHei", "微軟雅黑",'STXihei', "華文細黑", 'SimSun', "宋體", 'Heiti', "黑體", 'sans-serif' !important;}/*#endregion */

在ASPX文件的<head></head>中添加對此CSS文件的引用即可。

<link rel="stylesheet" type="text/css" href="/Content/ExtjsExtra.css" />

布局(Layout)

前面說過,EXT.NET基本沒有對設計時可視化支持的,這也是新手常常遇到的問題,在 官方示例 中,已經有詳盡的示例代碼,認真閱讀官方示例,常見的布局問題都可以應付。

EXTJS有Sencha Architect提供了設計時的支持,不過生成的是純js代碼。

EXT.NET官方示例Layout節點中有各種布局的詳細代碼例子,如下EXT.NET Layout

大致說明下:

  • AbsoluteLayout: 絕對,指定控件的X和Y值(像素);
  • AccordionLayout: 折疊式布局,常用于頁面菜單之類;
  • AnchorLayout: 配置高度和寬度,值可以是百分比(1-100%)或偏移量(正/負整數),詳細說明參見 Anchor Layout的源碼;
  • BorderLayout: 以邊框方式劃分區域,通常用于整個頁面(容器內部也可以用)的布局,如官方示例的首頁就是這種布局;
  • CardLayout: 卡片式布局,常用于需要上一步&下一步的向導頁。
  • CenterLayout: 始終居中,這個是3.x新加的功能,比較有用。
  • ColumnLayout: 列式布局,用ColumnWidth指定所占寬度比例(0到1之間的小
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉祥县| 高淳县| 仁寿县| 宁晋县| 滦南县| 鱼台县| 五原县| 茌平县| 双峰县| 民丰县| 子洲县| 盐亭县| 惠安县| 阿鲁科尔沁旗| 大方县| 马鞍山市| 沧源| 勐海县| 闽侯县| 鄂州市| 翁牛特旗| 汉川市| 遵义县| 新巴尔虎右旗| 华坪县| 锡林浩特市| 昌宁县| 册亨县| 阿坝县| 广河县| 香河县| 壶关县| 安新县| 饶阳县| 宜兰市| 澄江县| 长沙县| 固阳县| 菏泽市| 黄平县| 东城区|