Lp trình và Thit k Web 2 Bà i 5 Bà i 5 CuCu hìnhhình GiaoGiao dindin WebsiteWebsite CuCu hìnhhình GiaoGiao dindin WebsiteWebsite Ths Trn Th Bích Hnh Ths . Trn Th Bích Hnh Khoa CNTT Khoa CNTT –– H.KHTNH.KHTN © 2009 Khoa Công ngh thông tin LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website NidNid Ni d ung Ni d ung Master Page Master Page S dng CSS vi ASP.NET Server Control Skin và Theme Site Navigation © 2009 Khoa CNTT - HKHTN 2 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website NidNid Ni d ung Ni d ung Master Page Master Page S dng CSS vi ASP.NET Server Control Skin và Theme Site Navigation © 2009 Khoa CNTT - HKHTN 3 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website MtPMtP M as t er P age M as t er P age Master Page cho phép đnh ngha layout template nht Master Page cho phép đnh ngha layout template nht quán cho toàn b WebForm trong site Content Page là các WebForm k tha Master Page và b Content Page là các WebForm k tha Master Page và b sung thêm ni dung © 2009 Khoa CNTT - HKHTN Master Page ( .master ) Content Page ( .aspx ) 4 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website MtPMtP M as t er P age M as t er P age Master page s đnh nghacác PlaceHolderControl Master page s đnh ngha các PlaceHolderControl Content page s chèn ni dung tng ng vào các PlaceHolderControl trong master page PlaceHolderControl trong master page . © 2009 Khoa CNTT - HKHTN 5 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website TT tt // ThTh điđi MtPMtP tt CttPCttP T ruy T ruy xu t xu t // Th ay Th ay điđi M as t er P age M as t er P age tt C on t en t P age C on t en t P age Cách 1 : S dng phng thc FindControl t đi tng Cách 1 : S dng phng thc FindControl t đi tng Master • Ví d – Trong Master Page có 1 Hyperlink vi ID= “controlInMasterPage“. C CS – Trong C ontent Page.aspx. CS : HyperLink ad = ( HyperLink) Master.FindControl ( “ controlInMasterPage " ); HyperLink ad ( HyperLink) Master.FindControl ( controlInMasterPage ); if (ad != null) { ad.ImageUrl = "images/Logo.gif"; ad.NavigateUrl = "http://www.interneturl.com"; © 2009 Khoa CNTT - HKHTN } 6 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website TT tt // ThTh điđi MtPMtP tt CttPCttP T ruy T ruy xu t xu t // Th ay Th ay điđi M as t er P age M as t er P age tt C on t en t P age C on t en t P age Cách 2 : Cách 2 : – Master Page: óng gói d liu thành các thuc tính có th tru y xut ( Pro p erties ) y (p ) public string AdImageUrl { get { return controlInMasterPage.ImageUrl; } } set { c ontrolInMasterPa g e.ImageUrl = value; g } } © 2009 Khoa CNTT - HKHTN 7 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website TT tt // ThTh điđi MtPMtP tt CttPCttP T ruy T ruy xu t xu t // Th ay Th ay điđi M as t er P age M as t er P age tt C on t en t P age C on t en t P age Cách 2( tt ): Cách 2 ( tt ): – Content Page: • Ch đnh kiu c th ca Master Page trong Content page aspx Ch đnh kiu c th ca Master Page trong Content page . aspx <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" …%> / <%@ MasterType V irtualPath="~ / MasterPage.master" %> hoc <%@ MasterType TypeName=“MyMasterPageClassName" %> • Truy xut/Thay đi Master Page trong Content page.aspx.CS Master AdImageUrl = "images/Logo gif"; Master . AdImageUrl = "images/Logo . gif"; © 2009 Khoa CNTT - HKHTN 8 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website LL tì htì h thth điđi MtPMtP L p L p t r ì n ht r ì n h th ay th ay điđi M as t er P age M as t er P age Gán MasterPage mi cho Page.MasterPageFile trong Gán MasterPage mi cho Page.MasterPageFile trong hàm x lý s kin Page_PreInit protected void Page_PreInit(object sender, EventArgs e) { Page.MasterPageFile = "~/AnotherMasterPage.master"; } © 2009 Khoa CNTT - HKHTN 9 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website CC X X lýlý ss kinkin phátphát sinhsinh tt Master Master trongtrong C ontent Page C ontent Page óng gói control phát sinh s kin trong MasterPage óng gói control phát sinh s kin trong MasterPage // MasterPage.aspx.cs public RadioButtonList MyRadioList { get { return RadioButtonList1; } } Bts kinx lý trong ContentPage // ContentPage.aspx.cs protected void Page_Load(object sender, EventArgs e) { Master.MyRadioList.SelectedIndexChanged += new System.EventHandler( ContentList_Changed); } protected void ContentList_Changed(object sender, EventArgs e) { RadioButtonList myRadioList = (RadioButtonList)sender; Response.Write(myRadioList.SelectedValue); © 2009 Khoa CNTT - HKHTN 10 } Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website NidNid Ni d ung Ni d ung Master Page Master Page S dng CSS vi ASP.NET Server Control Skin và Theme Site Navigation © 2009 Khoa CNTT - HKHTN 11 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website SS dd CSSCSS ii ASP NET S C t lASP NET S C t l SS d ng d ng CSS CSS v i v i ASP . NET S erver C on t ro lASP . NET S erver C on t ro l Cách 1: Thay đi Properties ca các asp.net server Cách 1: Thay đi Properties ca các asp.net server control lúc thitk ( inline css) • Ví d: <span id="LabelMsg" style="display:inline-block; lRd co l or: R e d ; background-color:#FFFF80; border-color:Lime; border-st y le:Dashed ; y ; font-weight:bold; font-style:italic; text-decoration:underline;"> Hll W ld © 2009 Khoa CNTT - HKHTN H e ll o W or ld </span> 12 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website SS dd CSSCSS ii ASP NET S C t lASP NET S C t l SS d ng d ng CSS CSS v i v i ASP . NET S erver C on t ro lASP . NET S erver C on t ro l Cách 2: Thay đini dung thuc tính Style (inline css) ca đitng server control tng ng • Ví d: Code behind: LabelMsg.Style[“font-style"] = "italic“ ; LabelMsg.Style[“text-decoration"] = “underline“ ; LabelMsg.Style [ “ color " ] = “ Red “ ; LabelMsg.Style [ color ] Red ; <span id="LabelMsg" s tyle="font-style:italic; text-decoration:underline; color:Red;“> Hll W ld © 2009 Khoa CNTT - HKHTN H e ll o W or ld </span> 13 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website SS dd CSSCSS ii ASP NET S C t lASP NET S C t l SS d ng d ng CSS CSS v i v i ASP . NET S erver C on t ro lASP . NET S erver C on t ro l Cách 3: Thit lp giá tr thuc tính CssClass ca Cách 3: Thit lp giá tr thuc tính CssClass ca đitng control (embeded, external css) • Ví d : . myStyle { Ví d : . myStyle { font-style: bold; text-decoration: line-through; l } co l or: green; } • Code behind: LabelMsg.Style.Clear (); LabelMsg.Style.Clear ( ); LabelMsg.CssClass = “myStyle”; © 2009 Khoa CNTT - HKHTN <span id="Label1" class="myStyle">Hello World</span> 14 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website NidNid Ni d ung Ni d ung Master Page Master Page S dng CSS vi ASP.NET Server Control Skin và Theme Site Navigation © 2009 Khoa CNTT - HKHTN 15 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website Th & SkiTh & Ski Th eme & Ski n Th eme & Ski n © 2009 Khoa CNTT - HKHTN 16 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website ThTh Th eme Th eme 1 Theme có th xem là 1 giao din ca trang web 1 Theme có th xem là 1 giao din ca trang web Ttc theme phi đt trong th mc App_Themes M i theme đnh ngha nhi u skin file, css file, hình nh, © 2009 Khoa CNTT - HKHTN 17 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website Ski FilSki Fil Ski n Fil e Ski n Fil e Skin file đ nh d n g hinth các as p .net server control g p – Ví d: nh nghastyle ápdng đivimi Label và TextBox trong trang web < a sp:Label runat="server" ForeColor="Blue" Font-Size="10pt“ Font-Name="Verdana" /> < asp : TextBox runat ="server" < asp : TextBox runat ="server" BackColor="#FFFFC0" ForeColor="Green“ /> Lu ý : Skin file ch cha các đ nh n g hast y le cho control © 2009 Khoa CNTT - HKHTN ý g y Và KHÔNG CÓ thuctínhID 18 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website Ski IDSki ID Ski n IDSki n ID SkinID dùng thit lp nhiu đnh dng khác nhau SkinID dùng thit lp nhiu đnh dng khác nhau – Ví d: • Skin File: Skin File: <asp:TextBox runat="server" BackColor="#FF0000" ForeColor="White" SkinID="skin1" /> • S dng trong WebForm < asp : TextBox ID = " TextBoxUsername " runat = " server “ < asp : TextBox ID = TextBoxUsername runat = server SkinID="skin1" /> © 2009 Khoa CNTT - HKHTN 19 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website SS dd ThTh SS d ng d ng Th eme Th eme S dng Theme trong 1Webform S dng Theme trong 1 Web form – <%@ Page Theme="Theme1“ S dng Theme trong mi Web form Trong file web.config, b sung: <system.web> … <pages theme=“Theme1" /> … </system.web> © 2009 Khoa CNTT - HKHTN 20 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website LL tì htì h ThTh điđi ThTh L p L p t r ì n ht r ì n h Th ay Th ay điđi Th eme Th eme Gán theme mi cho Page.Theme trong hàm x lý s kin Gán theme mi cho Page.Theme trong hàm x lý s kin Page_PreInit protected void Page_PreInit(object sender, EventArgs e) { { Page.Theme = “Theme2”; } © 2009 Khoa CNTT - HKHTN 21 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website NidNid Ni d ung Ni d ung Master Page Master Page S dng CSS vi ASP.NET Server Control Skin và Theme Site Navigation © 2009 Khoa CNTT - HKHTN 22 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website Sit N i tiSit N i ti Sit e N av i ga ti on Sit e N av i ga ti on XML Site Map XML Site Map SiteMapDataSource SiteMapPath Control Menu Control TreeView Control © 2009 Khoa CNTT - HKHTN 23 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website CC tútú bitbit C u C u t r ú c t r ú cwe b s it ewe b s it e © 2009 Khoa CNTT - HKHTN 24 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website XML Sit MXML Sit M XML Sit e M ap XML Sit e M ap nh ngha cu trúc website trong file Web.sitemap nh ngha cu trúc website trong file Web.sitemap <?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"> <siteMapNode url=“Home.aspx" title="Home" description="HomePage" > <siteMapNode url=“Product.aspx" title=“Product" > <siteMapNode url = “Manufactory.aspx" title=“Manufactory" / > <siteMapNode url=“Category.aspx" title=“Category“ > … / id < / s i teMapNo d e> </siteMapNode> <siteMapNode url=“Search.aspx" title=“Search" /> < it M N d l “H l " titl “H l " > < s it e M ap N o d eur l =“H e l p.aspx " titl e= “H e l p " > … </siteMapNode> </ siteMapNode > © 2009 Khoa CNTT - HKHTN 25 </ siteMapNode > </siteMap> LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website SS dd XML Sit MXML Sit M SS d ng d ng XML Sit e M ap XML Sit e M ap To SiteMapDataSource To SiteMapDataSource <asp:SiteMapDataSource ID="SiteSource" runat="server" /> Web.Sitemap © 2009 Khoa CNTT - HKHTN 26 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website CC hì hhì h Sit MSit M FilFil C u C u hì n hhì n h Sit e M ap Sit e M ap Fil e Fil e Cu hình thay đi file sitemap trong Web.Config Cu hình thay đi file sitemap trong Web.Config <configuration> <system.web> <siteMap defaultProvider=“XmlSiteMapProvider" enabled="true"> <providers> <add name=“ SpecialSiteMapProvider" type= " System Web XmlSiteMapProvider " type= System . Web . XmlSiteMapProvider siteMapFile="~/Special.Sitemap"/> <add name=“ XmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/web.Sitemap"/> </providers> </siteMap> </system web> </system . web> </configuration> © 2009 Khoa CNTT - HKHTN 27 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website Sit M P thSit M P th CtlCtl Sit e M ap P a thSit e M ap P a th C on t ro lC on t ro l Hin th đng dn truy cp t root node ( trang ch ) đn Hin th đng dn truy cp t root node ( trang ch ) đn node hinti (breadcrumb) Mi node phân cách nhau bi PathSeperator Mi node phân cách nhau bi PathSeperator © 2009 Khoa CNTT - HKHTN 28 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website MCtlMCtl M enu C on t ro lM enu C on t ro l Hin th cu trúc website di dng Menu Hin th cu trúc website di dng Menu <asp:Menu ID="MenuMain" runat="server“ DataSourceID="SiteSource“> </asp:Menu> Orientation =“ Vertical " Orientation Vertical StaticDisplayLevels="2" StaticSubMenuIndent="0px" Orientation="Horizontal" StaticDisplayLevels="2" St ti S bM I d t " 10 © 2009 Khoa CNTT - HKHTN 29 St a ti c S u bM enu I n d en t =" 10 px LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website TViTVi CtlCtl T ree Vi ew T ree Vi ew C on t ro lC on t ro l Hin th cu trúc website di dng TreeView Hin th cu trúc website di dng TreeView <asp:TreeView ID="TreeViewMain" runat="server" DataSourceID="SiteSource”> </asp:TreeView> ImageSet=“Arrows" ImageSet="WindowsHelp"ImageSet=“BulletedList6" © 2009 Khoa CNTT - HKHTN 30 Lp trình và Thitk Web 2 – Bài 5: CuhìnhGiaodin Website TT ktkt T ng T ng ktkt Master Page Master Page – Master Page, Content Page, PlaceHolderControl Thay đi / Truy xut Master Page t Content Page – Thay đi / Truy xut Master Page t Content Page S dng CSS vi ASP.NET Server Control – Inline CSS – Embedded, external CSS © 2009 Khoa CNTT - HKHTN 31 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website TT ktkt (( tttt )) T ng T ng ktkt (( tttt )) Skin và Theme Skin và Theme – Theme Skin File SkinID – Skin File , SkinID Site Navigation – XML Site Ma p p – SiteMapDataSource – SiteMapPath Control SiteMapPath Control – Menu Control Tree View Control © 2009 Khoa CNTT - HKHTN – Tree View Control 32 . Lp trình và Thit k Web 2 Bà i 5 Bà i 5 CuCu hìnhhình GiaoGiao dindin WebsiteWebsite CuCu hìnhhình GiaoGiao dindin WebsiteWebsite Ths Trn Th Bích Hnh Ths . Trn Th Bích Hnh Khoa. style="display:inline-block; lRd co l or: R e d ; background-color:#FFFF80; border-color:Lime; border-st y le:Dashed ; y ; font-weight:bold; font-style:italic; text-decoration:underline;"> Hll. s tyle="font-style:italic; text-decoration:underline; color:Red;“> Hll W ld © 2009 Khoa CNTT - HKHTN H e ll o W or ld </span> 13 LptrìnhvàThitk Web 2 – Bài 5: CuhìnhGiaodin Website SS dd CSSCSS ii ASP