上一篇文章介紹了實現3種形式復雜屬性的具體方法。為了加深讀者對於這些 實現方法的理解深度,本文詳細講解了一個利用ASP.NET 2.0技術創建復雜屬性 的示例。
1. 示例應用
本文所實現的示例很簡單,其核心是通過實現自定義服務器控件的連字符形 式復雜屬性來說明復雜屬性的實現方法,其中使用了上一篇文章中介紹的內容。 示例效果圖如圖1所示。
圖1
如圖1所示,頁面顯示了公司所在城市、姓名、性別和職務信息。這些內容是定義服務器控件呈現的結果,其中公司所在城市由簡單屬性City設置,姓名、性 別和職務由復雜屬性Employee設置,其中包括子屬性Name,Sex和Title設置。下 面列舉了示例應用程序的Default.aspx文件源代碼。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Namespace="WebControlLibrary" Assembly="WebControlLibrary" TagPrefix="Cp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>實現連字符形式復雜屬性</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<Cp:Company ID="demo1" runat="server" City="重慶" Employee-Name=" 小李" Employee-Sex="男" Employee-Title="銷售經理" />
</div>
</form>
</body>
</html>
如上代碼所示,主要設置了@ Register指令和自定義服務器控件Company。前 者用於為頁面引入自定義服務器控件Company,從而實現控件在頁面中的應用。 在自定義服務器控件Company中主要設置了City、Employee-Name、Employee-Sex 和Employee-Title。同時,在開發人員編碼過程中將會發現,以上4個屬性均為 Visual Studio 2005的智能感知功能所支持。
另外,讀者還可以以另一種非連字符形式設置Company控件屬性。具體代碼如 下所示:
<Cp:Company ID="Company1" runat="server" City="重慶">
<Employee Name="小李" Sex="男" Title="銷售經理">
</Employee>
</Cp:Company>
實際上,以上設置Company控件屬性的方法與前文利用連字符設置屬性的方法 是完全一致的。對於所有連字符形式屬性,可以任意使用二者之一。如果是基於 代碼可讀性的角度而言,後者比前者的可讀性更強一些。