Microsoft Word CH05__P10

Similar documents
導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

Microsoft Word - CH07_P36

IsPostBack 2

Microsoft PowerPoint - VB14.ppt

标题

Part II AJAX JavaScript ASP.NET Web AJAX JavaScript DOM Web mash-up bugs AJAX postback AJAX AJAX AJAX ASP.NET AJAX Extensions ASP.NET AJAX ASP.NET AJA

Microsoft Word - CH04P98

投影片 1

在本章之前, 我們都是在網頁的設計檢視中加入 UpdatePanel 控制項來圍住所要非同步局部更新的區域 事實上, 除了採用宣告式語法之外, 您也可以使用程式控制方式來建立與更新 UpdatePanel 控制項, 本章將詳細討論此種作法 4-1 如何以程式控制方式更新一個 UpdatePanel

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

untitled

(Microsoft Word - wes _\246p\246\363\250\317\245\316LED\277O\305\343\245\334\252\254\272A.doc)

Microsoft Word - Ch06.docx

untitled

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

Visual Basic D 3D

untitled

投影片 1

ii Vue Bootstrap 4 ES 6 Vue Vue Bootstrap 4 ES 6 Vue 2 vue html vue html vue Vue HTML 5 CSS ES 6 HTML 5 CSS Visual Studio Code h

Microsoft Word - ch04.doc

untitled

Chapter 16 集合

Microsoft Word 级第二专业学士学位培养计划.doc

untitled

Microsoft Word - 01.DOC


星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

01 用 ActionScript 3.0 開始認識 Flash CS3 Flash 是應用在網路上非常流行且高互動性的多媒體技術, 由於擁有向量圖像體積小的優點, 而且 Flash Player 也很小巧精緻, 很快的有趣的 Flash 動畫透過設計師的創意紅遍了整個網際網路 雖然很多人都對 Fl

Microsoft Word - 最新正文.doc



untitled

第一章 章标题-F2 上空24,下空24

05 CHAPTER Information.IsNumeric ( ) Information.IsDate ( ) True False Date Date True False Y Y Information.IsArray ( ) True False Y Information.IsErr

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

060522達文西密碼_全_.PDF

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

多層次傳銷與獎金系統

3 Driver do Microsoft Access (*.mdb) hisdata IFIX 1.4

The golden pins of the PCI card can be oxidized after months or years

Microsoft PowerPoint - ch15_1.ppt

Microsoft Word CH03__P92

X6-04_How_do_I_write_a_com_port_communicate_program_of_XPAC_tc

untitled

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

Microsoft Word - PHP7Ch01.docx

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

健保資訊網服務系統 (VPN)- 瀏覽器設定 目 次 壹 作業目的及功能... 2 一 作業目的... 2 二 作業功能... 2 貳 瀏覽器設定說明... 3 一 Internet Explorer 8(IE 8)... 5 二 Internet Explorer 9(IE 9)... 8 三 I

SyncMail AJAX Manual

Outlook 2007 設定說明 Offic 企業郵件 / 虛擬主機郵件 / Office 365

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

Microsoft Word - 目錄_P6

05 01 accordion UI containers 03 Accordion accordion UI accordion 54

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

Windows 10 在數位轉型下 所扮演的重要角色暨安全功能介紹

CHAPTER VC#

Outlook 2010 設定說明 Offic 企業郵件 / 虛擬主機郵件 / Office 365

第一章

17 Chapter Video/Audio API 17-1 <video> <audio> 17-2 <video> <audio>

1. 2. Flex Adobe 3.


三 教 学 建 议 1. 字 音 教 学 哲 的 声 母 是 zh, 不 要 读 成 z 承 的 声 母 是 ch, 不 要 读 成 c ; 韵 母 是 en 倮, 不 要 读 成 en 倦 的 声 母 是 j, 不 要 读 成 q 则 的 声 母 是 z, 不 要 读 成 zh 颂 的 声 母 是

(Microsoft PowerPoint - ASP.NET\272\364\255\266\302\262\244\266.ppt)

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11

CU0594.pdf

秘密大乘佛法(下)

國立臺東高級中學102學年度第一學期第二次期中考高一國文科試題

Page 2 of 12

Microsoft Word - Sunday

鎶ョ焊0

!! :!!??!!?!??!!!... :... :'?'?! :' ' :'?' :'?' :'!' : :? Page 2

<D2B0D0C4D3C5D1C52DC8CED6BEC7BF202D20BCC7CAC2B1BE>

穨文件1

RUN_PC連載_10_.doc

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

ActiveX Control

untitled

天仁期末個人報告1.PDF

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

bnb.PDF

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

我 们 再 看 到 尼 西 米 记, 也 会 发 现 当 时 神 的 百 姓 有 一 颗 单 纯 受 教 的 心, 他 们 单 纯 的 听 从 神 的 教 导, 敬 畏 遵 从 神 的 训 诲 当 他 们 明 白 自 己 的 罪 孽 时, 个 个 俯 伏 在 地, 为 罪 痛 悔 哭 泣 在 整 个

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

PowerPoint Presentation

本 课 程 作 为 非 计 算 机 专 业 本 科 通 识 课 程, 是 一 门 理 论 和 实 践 紧 密 结 合 的 实 用 课 程, 内 容 包 括 计 算 机 基 础 部 分 和 程 序 设 计 部 分 计 算 机 基 础 部 分 涵 盖 计 算 机 软 硬 件 组 成 数 制 表 示 操

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

摘 要

untitled

RUN_PC連載_8_.doc

untitled

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

(Microsoft Word - wes _\246p\246\363\250\317\245\316watchdog\250\276\244\356\265{\246\241\267\355\276\367.doc)

第 4 章 XMLHttpRequest 对象 AJAX AJAX 2 iframe AJAX iframe XMLHttpRequest JavaScript iframe AJAX XMLHttpRequest XMLHttpRequest Server Access Object Web XM

Chapter V.S. PC

000

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 一 一 般 公 共 服 务 支 出 二

(Company Name1)

Transcription:

探討 JavaScript 的日期全球化功能 關於文化特性值使用瀏覽器語言設定來全球化 JavaScript 的日期值使用 Web.config 的設定來全球化 JavaScript 的日期值使用網頁設定來全球化 JavaScript 的日期值使用伺服器端程式碼來全球化 JavaScript 的日期值 JavaScript 日期值全球化的優先順序

日期 " 是一個實務應用程式必定會使用到的資料項目, 而隨著全球化與資訊無國界的形成, 如何讓 JavaScript 以全球化格式來顯示日期值便成為一項重要的課題 微軟公司也深知此一道理, 因此在 ASP.NET 3.5 AJAX 中, 替別提供了用戶端 JavaScript 的日期全球化功能 在套用了相關的全球化設定之後, 用戶端 JavaScript 就可以根據某個文化特性值來格式化 Date 或 Number 物件, 重點是, 它完全不需要將網頁回傳至 Web 伺服器 用戶端 JavaScript 所使用的文化特性值可以來自不同的設定, 包括 : 使用者的瀏覽器語言設定 Web.config 的設定 網頁本身的設定 亦或是以伺服器端程式碼來設定 本章的重點, 就是要說明如何使用這四種方式來完成 JavaScript 的日期全球化 5-1 關於文化特性值 文化特性值提供了特定文化 ( 地區設定 ) 的相關資訊 大家必須瞭解, 文化特性值是由代表語言的兩個字母以及代表國家或地區的另外兩個字母所組合而成 舉例來說,es-MX 代表墨西哥西班牙文,es-CO 代表哥倫比亞西班牙文,fr-CA 代表加拿大法文,en-US 代表美國英文,zh-TW 代表台灣中文, zh-cn 則代表中國中文 ASP.NET 3.5 AJAX 是藉由賦予 JavaScript 的 Date 物件一個 localeformat 方法來使其具備日期全球化功能 localeformat 方法使得 Date 物件可以根據下列四種方式來全球化日期 : 使用瀏覽器語言設定來全球化 JavaScript 的日期值 使用 Web.config 的設定來全球化 JavaScript 的日期值 使用網頁設定來全球化 JavaScript 的日期值 使用伺服器端程式碼來全球化 JavaScript 的日期值 正如大家所知道的, 要設定伺服器端的文化特性值, 也是使用上述四種方式 基本上,ASP.NET 3.5 AJAX 提供了一種用戶端與伺服器端一致的設定方式來全球化日期值 基本上, 伺服器會解譯您的文化特性值設定方式, 產生一個用於格式化日期的用戶端物件, 並透過 Sys.CultureInfo. CurrentCulture 屬性來加以揭露 5-2

我們在前一章就曾經說過, 您的網頁必須加入一個 ScriptManager 控制項, 才能享有 ASP.NET 3.5 AJAX 對 JavaScript 所提供的各項擴充功能 由此可知, 欲享有 JavaScript 的日期全球化功能, 您同樣必須在網頁中加入一個 ScriptManager 控制項, 而且請記得, 務必將 ScriptManager 控制項的 EnableScriptGlobalization 屬性設定成 True 5-2 使用瀏覽器語言設定來全球化 JavaScript 的日期值 欲使用瀏覽器語言設定來全球化 JavaScript 的日期值, 您的瀏覽器必須依下列步驟進行設定 :( 以下我們以 Internet Explorer 做為說明對象 ) 1. 開啟 Internet Explorer 2. 從 工具 功能表中選取 網際網路 選項 3. 按一下 一般 索引標籤頁面中的 語言 按鈕 4. 於圖表 5-1 所示的 語言喜好設定 對話方塊中, 加入您所要採用的語言, 並且將其移至清單中的最上方, 然後按一下 確定 按鈕 圖表 5-1 5. 除了瀏覽器的語言設定之外, 請於您網站的組態檔 Web.config 中, 於 system.web 區段之內, 加入設定如下的 globalization 項目 : <globalization culture="auto" /> 5-3

"auto" 設定表示以瀏覽器請求中的 ACCEPT-LANGUAGE 標頭 ( 它提供使用者語言偏好清單 ) 來設定文化特性值 這是一個 Button 伺服器控制項, 位於 UpdatePanel 控制項之內 這是一個 HTML input 按鈕, 位於 UpdatePanel 控制項之外 圖表 5-2 網頁範例 使用瀏覽器語言設定來全球化 JavaScript 的日期值 圖表 5-2 是網頁範例 CH5_DemoForm001.aspx 的執行畫面, 不論您是按下 UpdatePanel 控制項之內的 Button 伺服器控制項按鈕, 或是按下 UpdatePanel 控制項之外的 HTML input 按鈕, 都會執行 JavaScript 函式來顯示目前的日期時間, 重點是, 所顯示的日期時間將會採用瀏覽器的語言設定來加以全球化 您可以在圖表 5-1 所示的對話方塊中變更語言清單中的語言順序, 然後重新執行本網頁並檢視其執行結果, 此舉將可證明所顯示的日期時間格式是根據瀏覽器的語言設定來加以全球化 本網頁範例的設計技巧說明如下 : 首先, 請檢視本網頁的宣告式標記內容 : <form id="form1" runat="server"> <asp:scriptmanager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true" /> <asp:updatepanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional"> <ContentTemplate> <asp:panel ID="Panel1" runat="server" GroupingText="Update Panel"> 5-4

<asp:button ID="btnDisplayDate" runat="server" Text=" 顯示日期 " /> <br /> <asp:label ID="Label1" runat="server"></asp:label> </asp:panel> </ContentTemplate> </asp:updatepanel> <input id="button1" type="button" value=" 顯示日期 " onclick="return DisplayDate();"/> <div id="message"></div> </form> 在檢視以上的宣告式標記內容時, 有三點必須特別注意到 第一, 務必將 ScriptManager 控制項的 EnableScriptGlobalization 屬性設定成 True 第二,Button 伺服器控制項位於 UpdatePanel 控制項之內, 它被按下後會將日期時間顯示在同位於 UpdatePanel 控制項之內的 Label 控制項 第三,HTML input 按鈕位於 UpdatePanel 控制項之外, 它被按下後會執行 JavaScript 函式 DisplayDate() 並將日期時間顯示在同位於 UpdatePanel 控制項之外的 <div> 項目上 請替網頁撰寫以下的 JavaScript, 重點在於, 為了能夠讓日期時間值全球化, 請務必建立一個 Date 物件並使用其 localeformat 方法來顯示日期時間 : <script type="text/javascript"> // 設定當按下 Button 伺服器控制項就執行 JavaScript 函式 formatedate() Sys.UI.DomEvent.addHandler($get("btnDisplayDate"), "click", formatdate); function formatdate() { // 建立一個 Date 物件 var d = new Date(); try { // 使用 Date 物件的 localeformat 方法來顯示日期時間 $get('label1').innerhtml = d.localeformat("dddd, dd MMMM yyyy HH:mm:ss"); 5-5

catch(e) { alert(" 錯誤 :" + e.message); function DisplayDate() { // 建立一個 Date 物件 var d = new Date(); try { // 使用 Date 物件的 localeformat 方法來顯示日期時間 $get('message').innerhtml = d.localeformat("dddd, dd MMMM yyyy HH:mm:ss"); return false; catch(e) { alert(" 錯誤 :" + e.message); </script> 5-3 使用 Web.config 的設定來全球化 JavaScript 的日期值 您可以使用組態檔 Web.config 的設定來全球化 JavaScript 的日期值, 該設定將會套用至網站中的所有網頁, 而且此一設定的優先順序將高於瀏覽器的語言設定 舉例來說, 假設您希望日期時間值要採用代表墨西哥西班牙文的文化特性, 請於您網站的組態檔 Web.config 中, 於 system.web 區段之內, 加入設定如下的 globalization 項目 : <globalization culture="es-mx" /> CH5 專案之 Web.config 中的原先的全球化設定是 <globalization culture="auto" />, 現在請您將其更改成 <globalization culture="es-mx" 5-6

/>, 然後再次執行網頁範例 CH5_DemoForm001.aspx, 您會發現,JavaScript 利用 Date 物件之 localeformat 方法所顯示的日期時間已採用墨西哥西班牙文的文化特性 ( 如圖表 5-3 所示 ) JavaScript 所顯示的日期時間採用墨西哥西班牙文的文化特性 圖表 5-3 5-4 使用網頁設定來全球化 JavaScript 的日期值 個別網頁可以自行在 @Page 指示詞當中使用 Culture 屬性來決定要使用哪一個文化特性值來全球化 JavaScript 的日期時間值 請注意,@Page 指示詞設定的優先順序將高於 Web.config 組態檔設定以及瀏覽器語言設定 JavaScript 所顯示的日期時間採用德國德文的文化特性 圖表 5-4 5-7

網頁範例 示範使用 @Page 指示詞來設定網頁的文化特性值 圖表 5-4 是網頁範例 CH5_DemoForm002.aspx 的執行畫面,JavaScript 所顯示的日期時間之所以會採用德國德文的文化特性, 是因為我們如下所示, 在 @Page 指示詞當中加入 Culture="de-DE" 的屬性設定 : <%@ Page Language="VB" AutoEventWireup="true" CodeFile="CH5_DemoForm002.aspx.vb" Inherits="CH5_DemoForm002" Culture="de-DE" %> 5-5 使用伺服器端程式碼來全球化 JavaScript 的日期值 您可以使用伺服器端程式碼去覆寫基底 Page 類別的 InitializeCulture 方法來設定網頁的文化特性值, 此作法的優先順序高於先前所述的三種方式 選取網頁的文化特性 圖表 5-5 5-8

選取網頁的文化特性 圖表 5-6 網頁範例 示範覆寫基底 Page 類別的 InitializeCulture 方法來設定網頁的文化特性值 圖表 5-5 與 5-6 是網頁範例 CH5_DemoForm003.aspx 的執行畫面, 在您選取某一個文化特性之後, 按下特定的按鈕便會以該文化特性來全球化 JavaScript 的日期時間值 本範例主要在示範如何使用伺服器端程式碼去覆寫基底 Page 類別的 InitializeCulture 方法來設定網頁的文化特性值 相關程式碼如下所列 : ' 覆寫基底 Page 類別的 InitializeCulture 方法 ' 以便設定網頁的文化特性值 Protected Overloads Overrides Sub InitializeCulture() If Request.Form("DropDownList1") <> Nothing Then Dim selectedlanguage As String = Request.Form("DropDownList1") UICulture = Request.Form("DropDownList1") Culture = Request.Form("DropDownList1") Thread.CurrentThread.CurrentCulture = _ CultureInfo.CreateSpecificCulture(selectedLanguage) Thread.CurrentThread.CurrentUICulture = New CultureInfo(selectedLanguage) End If MyBase.InitializeCulture() End Sub 5-9

' 此段程式碼負責將文化特性的名稱填入 DropDownList 控制項中 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Load If Not IsPostBack Then Dim mysortedlist As New SortedDictionary(Of String, String)() For Each ci As CultureInfo In _ CultureInfo.GetCultures(CultureTypes.SpecificCultures) mysortedlist.add(ci.englishname, ci.name) Next Me.DropDownList1.DataSource = mysortedlist Me.DropDownList1.DataTextField = "Key" Me.DropDownList1.DataValueField = "Value" Me.DropDownList1.DataBind() End If End Sub 5-6 JavaScript 日期值全球化的優先順序 之前我們提了四種方式來全球化 JavaScript 的日期值, 這四種方式的優先順序如下所示 : 1. 使用伺服器端程式碼來全球化 JavaScript 的日期值擁有最高的優先順序 2. 其次是, 使用網頁設定來全球化 JavaScript 的日期值 3. 第三是, 使用 Web.config 的設定來全球化 JavaScript 的日期值 4. 最後則是使用瀏覽器語言設定來全球化 JavaScript 的日期值 5-10