而在ASP.Net Forums的Web窗体页中没有找到我们熟悉的.ASPx.cs文件,也没有发现任何C#代码,取而代之是一个个控件,代码在哪里?!
下面将以login.ASPx为例详细说明ASP.Net Forums是如何实现代码分离和换皮肤的:
首先我们看看login.ASPx在两种皮肤样式下的运行效果
(Theme:default)(Theme:ElectricMidnight)
只是更改了一下ASP.Net Forums的默认皮肤,同样是Login.ASPx,显示的是两种不同的皮肤样式。先回想一下VS.Net中,先不论换皮肤功能,如果我们要实现一个登陆页面,那么我们在ASPx或Ascx页中将输入帐号密码的TextBox、登陆的Button拖入,在编辑区双击Button,写上对Button点击事件处理的代码,多么方便,大部分代码都由VS.Net为我们完成了。
我们再来看Login.ASPx的源码:
<%@ Import Namespace="ASPNetForums.Components" %>
<%@ Register TagPrefix="Forums" Namespace="ASPNetForums.Controls" Assembly="ASPNetForums.Controls" %>
<%@ Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %>
<mp:ContentContainer runat="server" >ASP.Net Forums实现可以换皮肤的控件一文的例子,也许有助您理解:)