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

首頁 > 學院 > 開發(fā)設計 > 正文

Ext.NET-布局篇

2019-11-17 02:05:50
字體:
供稿:網(wǎng)友

Ext.NET-布局篇

概述

前一篇介紹了Ext.NET基礎知識,并對Ext.NET布局進行了簡要的說明,本文中我們用一個完整的示例代碼來看看Ext.NET的布局。

示例代碼下載地址>>>>>


本文目的

本文使用Tree、Grid應該是我們最為常用的控件,實現(xiàn)自適應的頁面布局,

頂端:使用Panel,可折疊;左側(cè):使用TreePanel,可折疊;中間:使用GridPanel,主要區(qū)域,不可折疊;底部:使用GridPanel,可折疊;

先看看我們最終實現(xiàn)的效果

整體布局

LayoutDemo_800x600

全部折疊后的效果

全部折疊

當點擊gridMain下的新增按鈕彈出Window

彈出Window


開始之前


新建WebFrom窗體

新建WebFrom窗體,并在aspX文件中添加入下代碼。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebFormDemo.Layouts.Default" %><!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>Ext.Net布局示例</title></head><body>    <ext:ResourceManager runat="server" /></body></html>

關于<ext:ResourceManager runat="server" />上一篇中已經(jīng)講過,它必須在<body></body>中第一行,因為它負責為Web頁面添加所需的js和CSS文件的引用。


一個最簡單的頁面布局示例

在開始之前,我們先來看看一個最為簡單的Viewport頁面布局示例

添加CSS樣式

為了演示需要我們?yōu)槊總€區(qū)域指定不同的背景顏色,在<head></head>添加如下CSS樣式

<style type="text/css">    .north {        background-color: #FFFFFF;    }    .west {        background-color: #00FFFF;    }    .center {        background-color: #FF00FF;    }    .sourth {        background-color: #FFFF00;    }</style>

添加Viewport

我們需要實現(xiàn)的是自適應瀏覽器窗口大小(占滿整個<body></body>),所以使用Viewport,首先在<ext:ResourceManager runat="server" />下面添加如下代碼

<ext:Viewport runat="server" Layout="BorderLayout"></ext:Viewport>

Viewport將自己呈現(xiàn)在<body></body>中,并自動調(diào)整自身大小以適應整個瀏覽器窗口,一個Web頁面只允許出現(xiàn)一個Viewport。關于Viewport的詳細說明參見此處。我們將頁面分為多個區(qū)域,并可以手動調(diào)整沒個區(qū)域的大小,所以,Viewport的屬性Layout="BorderLayout";


添加子控件

接著我們?yōu)閂iewport添加子容器,每個子容器代表一個區(qū)域;

<ext:Viewport runat="server" Layout="BorderLayout">    <Items>        <ext:Container runat="server" Region="North" Html="<h2>North</h2>"  Cls="north">        </ext:Container>        <ext:Container runat="server" Region="West" Html="<h2>West</h2>" Cls="west">        </ext:Container>        <ext:Container runat="server" Region="Center" Html="<h2>Center</h2>" Cls="center">        </ext:Container>        <ext:Container runat="server" Region="South" Html="<h2>Sourth</h2>" Cls="sourth">        </ext:Container>    </Items></ext:Viewport>

運行效果如下

ViewportDemo

說明

  1. Viewport中的<Items>...</Items>,Items中只能定義Ext.NET提供的控件,而有時候我們需要寫一些HTML或asp.net自帶的控件,請使用'',如<Content><div>...</div></Content>
  2. Container的Region屬性指定了自身在Viewport中的位置,Region的值可以為
  • North:頂部;
  • South:底部;
  • East:右邊;
  • West:左邊;
  • Center:占滿剩余的空間,在BorderLayout式布局中,必須有一個控件的Region為Center。

最終的ASPX代碼如下

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebFormDemo.Layouts.Default" %><!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>Ext.Net布局示例</title>    <style type="text/css">        .north {            background-color: #FFFFFF;        }        .west {            background-color: #00FFFF;        }        .center {            background-color: #FF00FF;        }        .sourth {            background-color: #FFFF00;        }    </style></head><body>    <ext:ResourceManager runat="server" />    <ext:Viewport runat="server" Layout="BorderLayout">        <Items>            <ext:Container runat="server" Region="North" Html="<h2>North</h2>" Cls="north">            </ext:Container>            <ext:Container runat="server" Region="West" Html="<h2>West</h2>" Cls="west">            </ext:Container>            <ext:Container runat="server" Region="Center" Html="<h2>Center</h2>" Cls="center">            </ext:Container>            <ext:Container runat="server" Region="South" Html="<h2>Sourth</h2>" Cls="sourth">            </ext:Container>        </Items>    </ext:Viewport></body></html>

前面說過,Ext.NET是對ExtJs的封裝,它將ASPX頁面中的EXT.NET標記代碼翻譯成ExtJS,我們可以看看它為我們生成的ExtJs(javascript)代碼

Ext.net.ResourceMgr.init({    id: "ctl01",    theme: "neptune"});Ext.onReady(function () {    Ext.create("Ext.container.Viewport", {        renderTo: Ext.getBody(),        items: [            {                cls: "north",                html: "<h2>North</h2>",                xtype: "container",                region: "north"            },            {                cls: "west",                html: "<h2>West</h2>",                xtype: "container",                region: "west"            },            {                cls: "center",                html: "<h2>Center</h2>",                xtype: "container",                region: "center"            },            {                cls: "sourth",                html: "<h2>Sourth</h2>",                xtype: "container",                region: "south"            }        ],        layout: "border"    });});

使用瀏覽器的查看源碼功能,若是Javascript代碼沒有格式化,請在Web.config文件中進行如下設置

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

詳細的設置請參見上一篇中 WEBCONFIG中extnet 配置說明。


實現(xiàn)頁面布局

代碼

上面的簡單示例演示了BorderLayout最基本的布局,接著我們來看看一個實例代碼。刪除上面為了演示添加的代碼,我們最初的頁面ASPX代碼是這樣的

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebFormDemo.Layouts.Default" %><!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>Ext.Net布局示例</title></head><body>    <ext:ResourceManager runat="server" />    <ext:Viewport runat="server" Layout="BorderLayout">        <Items>        </Items>    </ext:Viewport></body>
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 射阳县| 宁都县| 柞水县| 上高县| 中山市| 揭西县| 木里| 贺州市| 建始县| 慈溪市| 和政县| 宜城市| 裕民县| 依安县| 东明县| 苍溪县| 团风县| 晋江市| 商都县| 永定县| 尉犁县| 汉阴县| 永康市| 旬阳县| 乌兰察布市| 孟村| 深圳市| 双辽市| 揭西县| 宁明县| 遵义县| 从江县| 镇宁| 老河口市| 诏安县| 大方县| 涞源县| 名山县| 土默特右旗| 湖州市| 仁化县|