我被告知要重新设计MasterPage
。我的公司使用AbleCommerce
系统,让我告诉你它非常棘手。很久以前,我有一个由 AbleCommerece 用 HTML 创建的不同布局模板,现在我需要重新设计我的母版页。
前任:
OneColumn.html
<div id="wrapper">
[[layout:header]]
<div id="Content">
<div id="MainContent">
[[layout:content]]
</div>
</div>
[[layout:footer]]
</div>
RightSidebar.html
[[layout:header]]
<div id="outerContentWrapper">
<div id="innerContentWrapper">
[[layout:content]]
[[layout:rightsidebar]]
</div>
</div>
<div id="footerbar">[[layout:footer]]</div>
母版页:
only one ContentPlaceHolder in MasterPage
<asp:ContentPlaceHolder ID="PageContent" runat="server">
</asp:ContentPlaceHolder>
内容页
<cb:ScriptletPart ID="ShowProduct" runat="server" Layout="One Column" Header="Standard Header" Content="Show Product Page" Footer="Standard Footer" Title="Show Product" AllowClose="False" AllowMinimize="false" />
现在,内容页面查找One Coulmn.html
并加载 html,然后一个列加载Standered Header.html
引用标题的页面webuser control
和布局加载显示Product Page.html
引用另一组的页面,webuser controls
依此类推..
问题:按照这个设计,我们现在有超过 100 个引用Asp.Net UserControls
. 因此,每当我们想在我们的网站上创建新页面时,我们必须创建 .aspx 然后包含**<cb:ScriptletPart>**
,创建新的 HTML 文件集,然后再创建 .aspx 文件USerControls
。
我想摆脱这个系统并直接在 .aspx 页面中加载 userControls,这很容易,但是我不知道如何通知 masterpage 使用单列布局或任何其他布局。
有没有办法从内容页面告诉母版页使用内容页面中公共属性指定的布局。或任何其他处理这种情况的建议。