曾听到朋友报怨ASP.NET FORUMS2.0中因为使用了MetaBuilders使得化码不太直观,呵,有利有有弊,使用这个控件目的在于统一界面。
比方说在管理页面中一般都会分成左右两栏,在ASP.NET可能比较常用的方法有两种,一种是使用框架,还有一种是使用一个表现左边的asxc来统一。那么使用了MetaBuilders之后是一种什么情况呢?我觉得和使用了框架页面差不多,不过里面没有了分栏,页面看起来是一个整体,页面变成了一个容器,包含了其他的一些分页,这种做法就要比使用asxc来统一页面来说要便于管理。在Thems\AdminMasterPage.ascx中<table width="100%" cellSpacing="7"><tr><td valign="top" width="170"><Forums:AdminNavigation runat="server" /> </td><td valign="top"><mp:region id="AdminContent" runat="server"><p>Default main content</p></mp:region> </td> </tr></table>在页面的右边他定义了id="AdminContent"也就是说在这个时候你并不知道你的左边是什么,这个ascx就是一个容器。这应该是ASP.NET FORUMS中一个比较普遍的调用机制,都是先直接调某一个内容,然后再查找反调上级容器接着以Admin\SiteSettings.aspx为例在超链接中都是直接调用这个文件,但这个文件却只是右边显示的内容,他通过<mp:ContentContainer runat="server" id="MPContainer" MasterPageFile="~/Themes/AdminMasterPage.ascx">去查找他的父容器。通过<mp:Content id="AdminContent" runat="server">说明他将替换父容器中的那个组件。顺便说一下今天接触的代码分离方法和以前又有所不同,以前是通过类去找皮肤,而这几个是没有皮肤的都直接带有自己的cs文件,然后在Components中有一个相应的实体类。
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18