本文将关注ASP.NET Web站点的实现。使用Visual Studio 2005可创建新的Web站点。当Web站点创建后,可添加指向业务逻辑组件AdventureWorksTraderBiz的引用。注意,与EntLib配置相关的所有配置设置都在Web.config文件中。本文的内容与业务过程密切相关,主要包括产品类别显示过程、产品子类别显示过程、产品显示过程所涉及的Web站点。在开始讲解这些过程之前,首先说明用于整个Web站点的母版页。
1. 母版页 专业的Web站点中所有页面应该具有标准化的外观。例如,常用的布局之一是在页面左边布置有导航菜单,版权信息在底部,内容在中间。如果在每个Web页面中复制通用的逻辑和外观来维护统一性是很困难的。在ASP.NET 2.0中,使用母版页来实现这个工作就很简单了。开发人员只需要在母版页中编写一次通用的内容即可。母版页可作为一个或者多个Web页面的模板。每个ASPX Web页面仅需要定义自身的唯一内容,接着内容将插入母版页布局中的特定区域。
示例1显示了名为Common.master的母版页代码,该母版页将用于AdventureWorks贸易站点。
示例1:实现外观一致的母版页
<%@ Master Language="" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Xml" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Master Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Table ID="tblTop" BackColor="Gainsboro" runat="server" Width="100%" Height="108px" ForeColor="DarkCyan"> <asp:TableRow runat="server" HorizontalAlign="Center"> <asp:TableCell runat="server" ColumnSpan="2"> <asp:Label ID="Label1" runat="server" ForeColor="Black" Font-Size="Medium">AdventureWorks Trader System </asp:Label> </asp:TableCell> </asp:TableRow> </asp:Table> <asp:Table ID="Table6" runat="Server" Width="954px"> <asp:TableRow runat="server"> <asp:TableCell runat="server"> <asp:Table ID="Table1" BackColor="Gainsboro" runat="server" Width="100%" ForeColor="DarkCyan" Height="290px"> <asp:TableRow ID="TableRow1" runat="server" HorizontalAlign="Center"> <asp:TableCell ID="TableCell1" runat="server"> <asp:HyperLink runat="server" Text="Product Categories" NavigateUrl="~/ProductCategoryDisplay.aspx"> </asp:HyperLink> </asp:TableCell> </asp:TableRow> <asp:TableRow ID="TableRow3" runat="server" HorizontalAlign="Center"> <asp:TableCell ID="TableCell3" runat="server"> <asp:HyperLink ID="HyperLink1" runat="server" Text="Product Sub Categories" NavigateUrl="~/ProductSubcategoryDisplay.aspx" /> </asp:TableCell> </asp:TableRow> <asp:TableRow ID="TableRow4" runat="server" HorizontalAlign="Center"> <asp:TableCell ID="TableCell4" runat="server"> <asp:HyperLink ID="HyperLink2" runat="server" Text="Products" NavigateUrl="~/ProductDisplay.aspx" /> </asp:TableCell> </asp:TableRow> </asp:Table> </asp:TableCell> <asp:TableCell runat="server"> <asp:Table ID="Table2" BackColor="Gainsboro" runat="server" Width="100%" ForeColor="DarkCyan" Height="290px"> <asp:TableRow ID="TableRow2" runat="server"> <asp:TableCell BackColor="#FFFFE1" ID="TableCell2" runat="server"> <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> </asp:contentplaceholder> </asp:TableCell> </asp:TableRow> </asp:Table> </asp:TableCell> </asp:TableRow> </asp:Table> </div> </form> </body> </html> |