Web Part與 個人化網頁製作 資策會教育訓練處 王寧疆 MCAD.NET/MCSD.NET/MCT

Slides:



Advertisements
Similar presentations
計算機程式及實習 Computer Program Design and Experiment) 期末報告 ppt 南台科技大學機械工程系 姓名 : 蔡中銘 學號 :4A 授課老師 : 謝慶存大帥哥.
Advertisements

題目:徽章之記憶 南台科技大學 機械系 車輛一乙 學號:4A 姓名:黃冠嘉 教師:謝慶存
計算機程式及實習 期末報告 題目:超級猜一猜
計算機程式及實習 期末報告 題目:商店結帳系統
Demo-dataSource與DropDownList
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
Task #3 使用ASP.NET服务器控件创建页面.
第八章 DataGrid 與 DataTable 瀏覽器 DataTable DataGrid 存取 顯示表格 暑資碩三 房玄博 報告.
ASP.NET 網頁製作教本 – 從基本語法學起
南台科技大學 機械工程系 車輛一甲 學號:4A 學生:黃信成 老師:謝慶存
动态网页制作 第1章 HTML语言1.
第五章:JDBC与数据库 第一讲.
Web图片搜索引擎设计 ——基于文本的图片信息提取.
第13章 FTP檔案上傳、 自動傳送 報告人 M9153314 李育旻.
客户端用Net-Library和SQL SERVER连接
《ASP.NET数据库网站设计教程(C#版)》
Visual Basic.NET 程序设计语言课程内容
《计算机网络技术》 asp.net 程序设计 文本类控件 笪静.
VBA应用开发与实例 李 辉 微软课程培训讲师. VBA应用开发与实例 李 辉 微软课程培训讲师.
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
CH10.
第七章、RFID WinCE系統開發 本章針對RFID系統中的行動裝置架構開發方式進行介紹,這裡所指的行動裝置指的是使用Windows Mobile作業系統的個人數位助理PDA或是手機而言,本章內之範例可以在此平台上運作無虞。主要說明使用VS.NET 2008平台開發與RFID結合的Windows.
CH11.
Asp.net 基礎.
建立VB.NET應用程式 資管系 助理教授 詹曉苓.
Ch11 檔案上傳及電子郵件 WEB程式設計.
第2章 建立Visual Basic應用程式 2-1 如何設計Visual Basic應用程式 2-2 建立主控台應用程式
第2章 建立Visual Basic應用程式.
ASP.NET 網頁製作教本 – 從基本語法學起
課程名稱:資料庫系統 授課老師:李春雄 博士
第16章 Windows Form與資料繫結 16-1 資料繫結的基礎 16-2 在專案新增資料來源 16-3 使用資料來源建立單筆編輯表單
在 Web 应用中,导航是非常重要的。ASP
卢斌 Software Development Engineer Microsoft Corporation
第16章 VB.NET物件導向與.NET Framework
WalkThrough SharePoint WebPart 入门指南
ASP.NET 網頁製作教本 – 從基本語法學起
第一章 Visual Studio、SQL Server介紹與開發環境
課程名稱:資料庫系統 授課老師:李春雄 博士
主 讲 教 师:陆有军 Web技术与应用 第六章 ADO.NET 主 讲 教 师:陆有军
課程名稱:資料庫系統 授課老師:李春雄 博士
ASP.NET 網頁製作教本 – 從基本語法學起
5.5.1 存储过程的优点 ① 事务处理 ② 速度和性能 ③ 过程控制 ④ 安全性 ⑤ 减少网络流量和通信 ⑥ 模块化
Timer & Format.
第10章 網頁資料庫的顯示與維護 10-1 再談資料控制項 10-2 GridView控制項 10-3 DetailsView控制項
程式設計 Visual Basic簡介 週次:1 建國技術學院 資管系 饒瑞佶 2003年9月17日.
ASP.NET 網頁製作教本 – 從基本語法學起
第5章 .NET框架类 5.
FormView 控件只能显示数据库中一行的数据,并且提供对数据的分页操作,FormView 控件可以以 一种不规则的外观来将数据呈现给用户。FormView 控件同样支持模板,以方便开发人员自定义 FormView 控件的 UI,FormView 控件支持的模板如下所示: ItemTemplate:用于在.
第十二章 SQL語言簡介 講授大綱: 新增資料庫 新增資料表 新增資料 修改資料 刪除資料 查詢資料 透視ASP.NET-第12章
第3章 ASP.NET程序设计基础 3.
第 8 章 VB.NET与数据库应用程序 本章主要内容: ADO.NET体系结构; VB.NET与SQL Server数据库的连接;
Visual Basic.NET 程序设计语言课程内容
第10章 網頁資料庫顯示與維護控制項 10-1 資料來源控制項 10-2 Repeater控制項 10-3 DataList控制項
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
題目:南台飲料店結帳系統 南台科技大學 機械工程系 車輛一甲 學號:4A
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
WalkThrough SharePoint WebPart 入门指南 三
利用 ASP.NET MVC 提升您的 Web 應用程式
第18章 個人入口網站的建立 18-1入口網站的基礎 18-2 建立網站的搜尋引擎 18-3 網頁組件的個人化功能
劉崇汎 崑山科技大學 電腦與通訊系 DLL的建立與引用 劉崇汎 崑山科技大學 電腦與通訊系
計算機程式及實習 Computer Program Design and Experiment) 期末報告ppt製作 南台科技大學 機械工程系 題目:南台電影城結帳系統 班級 : 車輛一甲 學號 : 4A 授教學生: 阮偉倫 授課老師: 謝慶存.
补充:c#语言基础.
第 10 章 ADO.NET與XML.
C# 基本語法、變數.
1 Session对象的特性 Session 状态对象 Session 对象常用的方法有: Session 对象常用的属性有:
Controls.
ASP.NET实用教程 清华大学出版社 第9章数据库应用 教学目标 教学重点 教学过程 2019年5月3日.
DEV342 Visual Basic 2005: 应用程序框架 和高级语言特性
Windows Workflow Foundation CON 230
Presentation transcript:

Web Part與 個人化網頁製作 資策會教育訓練處 王寧疆 MCAD.NET/MCSD.NET/MCT

議程 現代化網頁的需求 認識WebPart WebPart相關的類別 使用WebPart製作可自訂Layout與內容的網頁 在WebPart中使用Server Control 在WebPart中使用User Control 製作WebPart類別 在WebPart之間溝通

現代化網頁的需求 現代化網頁應該具備的條件 提供可自訂Layout與內容的資訊 友善, 親切, 高度人性化 One page for everything Choose the content you want Personalized your way 製作方法 使用ASP.NET 2.0提供的WebPart功能

現代化網頁的範例

認識WebPart – 網頁的零件

AppearanceEditorPart DeclarativeCatalogPart PropertyGridEditorPart WebPart相關的類別關係圖 WebPartManager CatalogZone EditorZone WebPartPageMenu PageCatalogPart AppearanceEditorPart WebPartZone ImportCatalogPart BehaviorEditorPart WebPart DeclarativeCatalogPart LayoutEditorPart ConnectionsZone 不需要放 任何東西 PropertyGridEditorPart xxZone為容器, 用來放置xxPart零件, 另外再加上WebPartManager, WebPartPageMenu

WebPart相關的類別說明 WebPartManager:欲使用WebPart功能的網頁必須使用 的類別 WebPartPageMenu:提供功能讓使用者自訂網頁的類別 ConnectionsZone:管理WebPart之間連結的類別 WebPartZone:放置WebPart的容器 CatalogZone:放置所有可以新增到網頁的WebPart PageCatalogPart:一般的WebPart ImportCatalogPart:副檔名為.WebPart的檔案,可以匯入到網頁 中使用 DeclarativeCatalogPart:使用<WebPartsTemplate>標籤宣告的 Web Part的類別

WebPart相關的類別說明(續) EditorZone:放置所有可以新增到網頁的WebPart 要提供自訂屬性必須製作WebPart類別 AppearanceEditorPart:提供設定WebPart外觀相關屬性的類別 BehaviorEditorPart :提供設定WebPart行為相關屬性的類別 LayoutEditorPart:提供設定WebPart位置的類別 PropertyGridEditorPart:提供設定WebPart自訂屬性的類別 要提供自訂屬性必須製作WebPart類別

使用WebPart製作可自訂Layout與內容的網頁 搜尋亞馬遜網站書籍功能 氣象資訊 翻譯機 最新課程資訊 EditorZone CatalogZone

利用Table定位 WebPartManager WebPartPageMenu WebPartZone WebPartZone EditorZone CatalogZone

為WebPartZone加入內容 加入Server Control 加入User Control 加入WebPart類別 缺乏自訂屬性的功能 製作難度較低 可以自訂屬性 加入WebPart類別 製作難度較高(缺乏視覺編輯功能) 可以改變WebPart的行為

WebPartZone常用的屬性 屬性名稱 內容值 EmptyZoneText WebPartZone沒有內容時欲顯示的文字 HeaderStyle WebPartZone的標題列樣式 PartStyle 定義WebPartZone中WebPart的統一樣式 PartTitleStyle 定義WebPart標題的樣式 VerbStyle WebPart功能表的樣式 CloseVerb Description項目:關閉功能提示訊息 ImageUrl項目:關閉功能圖示 ConnectVerb Description項目:連線功能提示訊息 ImageUrl項目:連線功能圖示 EditVerb Description項目:編輯功能提示訊息 Text項目:編輯功能表文字 MinimizeVerb Description項目:縮小功能提示訊息 ImageUrl項目:縮小功能圖示 RestoreVerb Description項目:還原功能提示訊息 ImageUrl項目:還原功能圖示

在WebPartZone中加入Server Control <asp:WebPartZone ID="SideBarZone" Runat="server" EmptyZoneText="把WebPart加在這裏"> <ZoneTemplate> <asp:Calendar Runat=Server Caption="行事曆" ID="Calendar1"></asp:Calendar> </ZoneTemplate> <RestoreVerb Description="還原 '{0}'" ImageUrl="~/images/RestoreVerb.GIF" Text=""></RestoreVerb> <MenuLabelStyle BorderStyle="Outset"></MenuLabelStyle> <HeaderStyle HorizontalAlign="Center" Font-Bold="True" BackColor="#FFE0C0" BorderStyle="Outset" ForeColor="#0000C0"></HeaderStyle> <MinimizeVerb Description="縮小 '{0}'" ImageUrl="~/images/MinimizeVerb.gif"></MinimizeVerb> </asp:WebPartZone>

在WebPartZone中加入User Control <%@ Page Language="VB" .. %> <%@ register tagprefix="UserControlPart" tagname="Course" src="Course.ascx" %> … <asp:WebPartZone ID="CourseZone" Runat="server" DragHighlightColor="244, 198, 96"> <PartTitleStyle BackColor="#2254B1" ForeColor="White"></PartTitleStyle> <ZoneTemplate> <UserControlPart:Course ID="CoursePart" Runat=server/> </ZoneTemplate> <PartStyle BorderColor="#81AAF2" BorderStyle="Solid" BorderWidth="1px"></PartStyle> </asp:WebPartZone>

在WebPartZone中加入WebPart類別 <%@ Page Language="VB" .. %> <%@ register tagprefix="WebPartClass" namespace="MyWebPart" Assembly="MyWebPart" %> … <asp:WebPartZone ID="CourseZone" Runat="server" DragHighlightColor="244, 198, 96"> <PartTitleStyle BackColor="#2254B1" ForeColor="White"></PartTitleStyle> <ZoneTemplate> <WebPartClass:WeatherPart ID="Weather1" Runat=Server Title=" 出門看天氣" ZipCode="92108“ /> </ZoneTemplate> <PartStyle BorderColor="#81AAF2" BorderStyle="Solid" BorderWidth="1px"></PartStyle> </asp:WebPartZone>

WebPartPageMenu常用的屬性 屬性名稱 內容值 BrowseModeVerb Text項目:瀏覽網頁的內容 CatalogModeVerb Text項目:請選擇欲加入網頁的WebPart ConnectModeVerb Text項目:連結到網頁上其他的WebPart DesignModeVerb Text項目:調整網頁的Layout DropDownButtonText 執行 EditModeVerb Text項目:調整Web Part屬性 Text 調整網頁的版面或樣式

EditorZone常用的屬性 屬性名稱 內容值 ApplyVerb Text項目:套用 CancelVerb Text項目:取消 OkVerb Text項目:確定 InstructionText 完成設定Web Part屬性設定後, 請按下[確定]或[套用]鍵完成設定屬性的動作 ErrorText 屬性設定錯誤 HeaderCloseVerb Text項目:關閉

編輯EditorZone的內容 <asp:EditorZone ID="EditorZone1" Runat="server" InstructionText=".."> <PartTitleStyle HorizontalAlign="Center" Font-Italic="True" /> <HeaderCloseVerb Text="關閉"></HeaderCloseVerb> <PartStyle BackColor="White" BorderColor="#81AAF2" /> <CancelVerb Text="取消"></CancelVerb> <ApplyVerb Text="套用"></ApplyVerb> <ZoneTemplate> <asp:AppearanceEditorPart ID="AppearanceEditor1" Runat="server" /> <asp:LayoutEditorPart ID="LayoutEditor1" Runat="server" /> <asp:PropertyGridEditorPart Runat="server" ID="PropertyGridEditor1" /> </ZoneTemplate> <OKVerb Text="確定"></OKVerb> <HeaderStyle HorizontalAlign="Center" Font-Bold="True" /> </asp:EditorZone>

CatalogZone常用的屬性 屬性名稱 內容值 HeaderText 選擇可以動態加到網頁的WebPart AddVerb CloseVerb Text項目:關閉 HeaderCloseVerb SelectTargetZoneText 加入到:

編輯CatalogZone的內容 CatalogZone預設會放置被關閉的WebPart供使用者選擇並加入到網頁中的WebPartZone中 你也可以準備ImportCatalogPart和DeclarativeCatalogPart供使用者選擇

CatalogZone內容範例 <asp:CatalogZone ID="CatalogZone1" Runat="server"> <ZoneTemplate> <asp:DeclarativeCatalogPart Runat="server" ID="DeclarativeCatalogPart1" Title="樣版WebPart"> <WebPartsTemplate> <UserControlPart:DeclarativeCatalogPartDemo ID="DCP1" Runat="server" /> </WebPartsTemplate> </asp:DeclarativeCatalogPart> <asp:PageCatalogPart Runat="server" ID="PageCatalogPart1" /> </ZoneTemplate> </asp:CatalogZone>

使用WebPart製作的網頁範例

編輯WebPart屬性

改變WebPart的位置

新增WebPart到網頁中

製作WebPart的三種方法 利用Server Control製作WebPart 利用User Control製作WebPart 實作IWebPart介面

利用Server Control製作WebPart <asp:WebPartZone ID="SideBarZone" Runat="server" EmptyZoneText="把WebPart加在這裏"> <ZoneTemplate> <asp:label runat="server" id="linksPart" > <a href="http://www.asp.net">ASP.NET site</a> <br> <a href="http://www.gotdotnet.com">GotDotNet</a> <a href="http://www.Microsoft.com">Microsoft.com</a> </asp:label> <asp:Calendar Runat=Server Caption="行事曆" ID="Calendar1"></asp:Calendar> </ZoneTemplate> </asp:WebPartZone>

利用User Control製作WebPart 整合一個以上的控制項 加入程式碼, 例如到資料庫查詢即時新聞 呼叫Web Service提供的功能 …

製作User Control DataSetDataSource DataList <asp:DataList ID="DataList1" Runat="server"> <ItemTemplate> <asp:Hyperlink NavigateUrl='<%# Eval("Url") %>' ..> </asp:Hyperlink><br /> .. </ItemTemplate> </asp:DataList>

在User Control中呼叫Web Service 提供即時新聞 氣象資訊查詢 股巿行情查詢 匯率查詢 交通路況 eBay auction Hotmail Inbox ….

提供即時新聞的User Control <%@ Control Language="VB" AutoEventWireup="false" CompileWith="NewsPart.ascx.vb" ClassName="NewsPart_ascx" %> <asp:DataList ID="DataList1" Runat="server" BorderColor="Tan" BackColor="LightGoldenrodYellow" Height="400px"> <ItemTemplate> <table> <tr> <td width="70">新聞來源</td> <TD><%#Eval("source")%></TD> </tr> </table> </ItemTemplate> </asp:DataList>

呼叫提供即時新聞的XML Web Service Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Load Dim ws As GetCustomNews = New GetCustomNews Dim s As String = ws.GetCustomNews("Computer") Dim sr As StringReader = New StringReader(s) Dim ds As DataSet = New DataSet ds.ReadXml(sr) DataList1.DataSource = ds.Tables(0) DataList1.DataBind() End Sub

提供翻譯功能的User Control <%@ Control Language="VB" AutoEventWireup="false" CompileWith="TranslatePane.ascx.vb" ClassName="TranslatePane_ascx"%> <table> <tr> <td><asp:Label ID="Label1" Runat="server" Text="英文:"></asp:Label></td> <td><asp:TextBox ID="txtEng" Runat="server">Hello</asp:TextBox></td> <td><asp:Button ID="btnTranslate" OnClick="Button1_Click" Runat="server" Text=“ 翻譯" /></td> </tr> <td><asp:Label ID="Label2" Runat="server" Text="中文:"></asp:Label></td> <td colspan=2><asp:TextBox ID="txtChn" Runat="server"></asp:TextBox></td> <td><asp:Label ID="Label3" Runat="server" Text="日文:"></asp:Label></td> <td colspan=2><asp:TextBox ID="txtJpn" Runat="server"></asp:TextBox></td> </table>

呼叫提供翻譯功能的XML Web Service Imports com_webservicex_www … Sub btnTranslate_Click(ByVal sender As Object, ByVal e As _ System.EventArgs) Dim ws As TranslateService = New TranslateService txtChn.Text = ws.Translate(Language.EnglishTOChinese, txtEng.Text) txtJpn.Text = ws.Translate(Language.EnglishTOJapanese, txtEng.Text) txtFre.Text = ws.Translate(Language.EnglishTOFrench, txtEng.Text) End Sub

查詢股價資訊的User Control <%@ Control Language="VB" AutoEventWireup="false" … %> <asp:Label ID="Label1" Text="公司代號:" Runat="server"></asp:Label> <asp:TextBox ID="TextBox1" Runat="server>MSFT</asp:TextBox> <asp:Button ID="btnQuery" Text="查詢" Runat="server" OnClick="btnQuery_Click" /> <hr /> <asp:DataList ID="DataList1" Runat="server" BackColor="White"> <ItemTemplate> <table> <tr> <td style="width: 100px" align="right"> <span style="font-family: 新細明體">最新價格:</span></td> <td style="width: 100px" align="right"><%# Eval("Last") %></td> </tr> ... </table> </ItemTemplate> </asp:DataList>

製作查詢股價資訊的功能 Imports com_webservicex_www Imports System.IO Imports System.Data Sub btnQuery_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim ws As StockQuote = New StockQuote Dim sr As StringReader = New _ StringReader(ws.GetQuote(TextBox1.Text)) Dim ds As DataSet = New DataSet ds.ReadXml(sr) DataList1.DataSource = ds DataList1.DataBind() End Sub

查詢亞馬遜網站書籍的User Control <%@ Control Language="VB" AutoEventWireup="false" CompileWith="Book.ascx.vb" ClassName="Book_ascx" %> <asp:DataList ID="DataList1" Runat="server" BorderColor="#DEDFDE" BackColor="White"> <ItemTemplate> <table> <tr> <td rowspan=3><img src='<%# Eval("ImageUrlSmall") %>' /></td> <td><asp:HyperLink ID="HyperLink1" Runat=server NavigateUrl='<%# Eval("Url") %>' Text='<%# Eval("ProductName") %>'></asp:HyperLink></td> </tr> </table> </ItemTemplate> </asp:DataList>

使用亞馬遜網站的書籍查詢功能 Imports System.Net Imports System.IO Imports System.Data Partial Class Book_ascx Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Load strResult = SearchAmazon.SearchBook(TextBox1.Text) End Sub End Class Public Class SearchAmazon Public Shared Function SearchBook(ByVal author As String) As String Dim url As String = http://xml.amazon.com/onca/xml3?t=webservices-20 …. End Function

製作WebPart類別 繼承自WebPart類別 實作IWebPart介面 使用Web Custom Control製作 使用User Control製作

製作WebPart類別 - 繼承自WebPart類別 自訂屬性 Imports System.Web.UI.WebControls.WebParts Public Class WeatherPart Inherits WebPart <Personalizable(), WebBrowsable()> _ Public Property ZipCode() As String Get Return m_ZipCode End Get Set(ByVal value As String) m_ZipCode = value End Set End Property Protected Overrides Sub RenderContents(ByVal hw As HtmlTextWriter) … End Sub End Class 負責產生WebPart內容

製作WebPart類別 -實作IWebPart介面 <%@ Control Language="VB" AutoEventWireup="false" CompileWith="TranslatePane.ascx.vb" ClassName="TranslatePane_ascx" %> <%@ Implements Interface="System.Web.UI.WebControls.WebParts.IWebPart" %> <script runat="server"> Public ReadOnly Property Subtitle() As String Implements IWebPart.Subtitle Get Return m_Subtitle End Get End Property … </script> <table> <tr> …. 必須實作下列屬性: Subtitle Title Description CatalogIconImageUrl TitleIconImageUrl TitleUrl 負責定義WebPart內容(可以視覺編輯)

在WebPart之間溝通 為網頁加入ConnectionsZone類別 在WebPartManager中定義資訊提供者和資訊消費者 <asp:WebPartManager ID="WebPartManager1" Runat="server"> <StaticConnections> <asp:connection ID="Connection1" providerid="Motor1" ProviderConnectionPointID="MotorIDProvider" consumerid="Order1" ConsumerConnectionPointID="MotorIDConsumer" /> </StaticConnections> </asp:WebPartManager> 指定資訊提供者 指定資訊消費者

製作資訊提供者 Imports System.Web.UI.WebControls.WebParts Interface IMotorInfo Property MotorID() As Integer End Interface Public Class MotorPart Inherits WebPart Implements IMotorInfo <ConnectionProvider("MotorIDProvider", "MotorIDProvider")> _ Private Function ProvideMotorInfo() As IMotorInfo Return Me End Function … End Class 定義提供者和消費者溝通的介面 資訊提供者名稱

製作資訊消費者 Imports System.Web.UI.WebControls.WebParts … Public Class OrderPart Inherits WebPart <ConnectionConsumer("MotorIDConsumer", "MotorIDConsumer")> _ Private Sub GetMotorInfo(ByVal MotorInfo As IMotorInfo) If Not MotorInfo Is Nothing Then m_MotorID = MotorInfo.MotorID FindOrders() Else Throw New NotSupportedException("No connection data found.") End If End Sub End Class 指定資訊消費者

在WebPart之間溝通 透 過 介 面 溝 通

ConnectionsZone常用的屬性 屬性名稱 內容值 HeaderText 連結設定區 InstructionTitle 管理[{0}]的連結對象 InstructionText 管理WebPart之間目前的連結設定 NoExistingConnectionTitle 未設定任何連結 NoExistingConnectionText 請點選上方的超連結設定WebPart之間的連結 ConnectVerb Text項目:連結 DiconnectVerb Text項目:中斷 HeaderCloseVerb Text項目:關閉 CloseVerb CancelVerb Text項目:取消 ConnectToProviderText 設定資訊提供者的連結對象 ConnectToProviderTitle 從Web Part取得資料

ConnectionsZone常用的屬性(續) ConnectToConsumerText 設定資訊消費者 ConnectToConsumerTitle 傳送資料至Web Part ConnectToProviderInstructionText 設定資訊提供者的連結對象 ConnectToConsumerInstructionText GetText 取得: GetFromText 自: ProvidersTitle 提供者 ConsumersTitle 消費者 ConsumersInstructionText 欲取得資訊的對象 ProvidersInstructionText 使用此資訊的WebPart ConfigureVerb 編輯 SendText 傳送: SendToText 至:

利用ConnectionsZone控制提供者與消費者的連結

利用ConnectionsZone擴充網頁的內容 供應商 客戶

WebPart Import/Export – 共享設定 將ExportMode屬性設定成All或NonSensitiveData 只有繼承自WebPart類別的WebPart可以設定 將WebPart的設定匯出成副檔名為(.WebPart)的XML文件 將WebPart標註成Personalizable的屬性匯出 由使用該WebPart的網頁匯入儲存在.WebPart檔案中的屬性內容值 必須依靠ImportCatalogPart類別

.WebPart檔案範例 <?xml version="1.0" encoding="utf-8"?> <webParts> <webPart> <metaData> <type name="MyWebPart.WeatherPart" /> <importErrorMessage>Cannot import this Web Part.</importErrorMessage> </metaData> <data> <properties> <property name="TitleIconImageUrl" /> … </properties> </data> </webPart> </webParts>

ImportCatalogPart常用的屬性 屬性名稱 內容值 Title 匯入Web Part設定 UploadButtonText 匯入 UploadHelpText 選妥.WebPart檔案後按下[匯入]鍵執行匯入. BrowseHelpText 請使用[瀏覽]鍵瀏覽到欲匯入的.WebPart檔案 PartImportErrorLabelText 匯入Web Part發生錯誤 ImportedPartLabelText 匯入WebPart設定

美化WebPart 設定WebPartZone的屬性 製作Theme與Skin 套用Theme CssClass屬性 HeaderStyle屬性 FooterStyle屬性 PartStyle屬性 PartTitleStyle屬性 CloseVerb, MinimizeVerb, RestoreVerb屬性的ImageUrl屬性 製作Theme與Skin 套用Theme

製作Theme 製作Theme <asp:WebPartZone Runat="server" CssClass="clsPartContainer"> <PartTitleStyle CssClass="clsPartHead"></PartTitleStyle> <FooterStyle CssClass="clsPartBottom"></FooterStyle> <CloseVerb ImageUrl="~/images/CloseVerb.gif"></CloseVerb> <RestoreVerb ImageUrl="~/images/chevronUp.gif"></RestoreVerb> <HeaderStyle CssClass="clsPartContainer"></HeaderStyle> <MinimizeVerb ImageUrl="~/images/chevronDown.gif"></MinimizeVerb> <PartStyle CssClass="clsPartContent"></PartStyle> </asp:WebPartZone>

套用Theme 套用Theme到網頁 套用Theme到整個網站 <system.web> <%@ Page theme="Theme名稱" ... %> 套用Theme到整個網站 <system.web> <pages theme="Theme名稱" /> … </system.web>

加入登入管制 使用ASP.NET Configuration Tool 使用Login相關的控制項 使用ASP.NET 2.0的Membership功能

啟動ASP.NET Configuration Tool 使用WebSite|ASP.NET Configuration功能

加入Login.aspx網頁 加入Login控制項 不同的使用者各自擁有自己的WebPart設定

For VS.NET 2003的使用者 下載Web Part Templates for Visual Studio .NET http://www.microsoft.com/downloads/details.aspx?FamilyID=cac3e0d2-bec1-494c-a74e-75936b88e3b5&DisplayLang=en

AppearanceEditorPart DeclarativeCatalogPart PropertyGridEditorPart 摘要 WebPartManager CatalogZone EditorZone WebPartPageMenu PageCatalogPart AppearanceEditorPart WebPartZone ImportCatalogPart BehaviorEditorPart WebPart DeclarativeCatalogPart LayoutEditorPart ConnectionsZone 不需要放 任何東西 PropertyGridEditorPart xxZone為容器, 用來放置xxPart零件, 另外再加上WebPartManager, WebPartPageMenu

參考資料 http://msdn.microsoft.com/msdnmag/issues/04/06/ASPNET20Portals/ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/WebParts.asp Introducing ASP.NET 2.0, Dino Esposito, Microsoft Press