[英]Create a “normal” ASP.NET page which depends on an Umbraco master page
在Umbraco中是否可以創建一個繼承主要Umbraco母版頁的普通webforms頁面?
我的客戶需要一些復雜的功能,需要在CMS的上下文之外的頁面中完成。
我想知道是否可以從“普通”頁面的構造函數中手動啟動Umbraco上下文。 目前我剛收到錯誤:
拋出了類型'System.Web.HttpUnhandledException'的異常。 ---> System.NullReferenceException:對象引用未設置為對象的實例。 at umbraco.item..ctor(IDictionary elements,IDictionary attributes)at umbraco.presentation.templateControls.ItemRenderer.GetFieldContents(Item item)at umbraco.presentation.templateControls.ItemRenderer.ParseMacros(Item item)at umbraco.presentation.templateControls.Item .OnInit(EventArgs e)位於System.Web.UI.Control.InitRecursive(Control namingContainer)的System.Web.UI.Control.InitRecursive(Control namingContainer)
謝謝克里斯
您可以使用備用模板直接引用模板,而無需與其關聯的內容頁面。
您可以通過以下方式引用它:
http://www.yourdomain.com/page.aspx?altTemplate=templatename
http://www.yourdomain.com/page/templatename.aspx
這將阻止用戶刪除節點。
這有幫助嗎?
你可以從umbraco母版頁繼承,像這樣手動指定你的主頁
MasterPageFile="../masterpages/umbracoPage.Master"
這適用於.aspx
頁面,您在plugin directory
中指定此頁面
我認為你可以實現你的要求;
將頁面從Umbraco控制中取出的通常方法是使用web.config鍵umbracoReservedUrls和umbracoReservedPaths - 這些是與4.11.1一起安裝的鍵:
<add key="umbracoReservedUrls" value="~/config/splashes/booting.aspx,~/install/default.aspx,~/config/splashes/noNodes.aspx,~/VSEnterpriseHelper.axd" />
<add key="umbracoReservedPaths" value="~/umbraco,~/install/" />
其次,如果您的頂級母版頁不包含umbraco項目或宏或任何內容,您可以在Page PreInit事件期間始終切換到母版頁
protected void Page_PreInit(Object sender, EventArgs e)
{
this.MasterPageFile = "/umbraco/masterpages/default.master";
}
或者您可以使用@BeaverProj概述的技術。
編輯
看看你的評論我認為你可以獲得umbraco數據,而不是在umbraco'上下文'。 添加對cms.dll和businesslogic.dll的項目引用(umbraco會將它們放入bin中),然后你就可以使用沒有包裝器控件的umbraco框架。 例如,內部editMacro.aspx頁面直接使用框架:
<asp:DropDownList OnPreRender="AddChooseList" runat="server" ID="macroPropertyType"
DataTextFormatString="" DataTextField='macroPropertyTypeAlias' DataValueField="id"
DataSource='<%# GetMacroPropertyTypes()%>' SelectedValue='<%# ((umbraco.cms.businesslogic.macro.MacroPropertyType) DataBinder.Eval(Container.DataItem,"Type")).Id %>'>
</asp:DropDownList>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.