繁体   English   中英

Umbraco:后端用户控制

[英]Umbraco: Backend User Control

我已经在Umbraco仪表板中成功创建并集成了成功的用户控件。 该页面以搜索控件开始,该控件返回可编辑项目的列表。

在我的用户控件中,我无法直接指向编辑页面的链接。 我正在尝试直接链接到它。 这是代码:

<asp:hyperlinkfield
    datanavigateurlformatstring="/usercontrols/useradmin/item_edit.aspx?itemID={0}"
    datanavigateurlfields="itemID" Text="edit" />

Umbraco无法处理直接链接,因此我不确定如何建立链接。 而是返回此错误:

没有umbraco文档与url'http:// localhost:1169 / usercontrols / useradmin / item_edit.aspx?itemID = f66c8f06-9e0e-4f3c-ac0d-5544e0998094 '匹配umbraco尝试使用此xpath查询匹配它'/ root / node / node [@urlName =“ usercontrols”] / node [@urlName =“ useradmin”] / node [@urlName =“ item_edit”]')

有没有一种方法可以将一个用户控件链接到自定义仪表板控件中的另一个控件?

回发选项

除了尝试在页面之间链接之外,为什么不使用回发在现有用户控件中进行所有工作呢?

即在您的用户控件中这样的方法

public void Handle_Click(object sender, System.Event args)
{
    //Do Something
}

由于umbraco不会停留在同一页面上,因此它不会尝试解释该URL,因此可以正常工作。

链接到页面选项

要启用链接到另一个页面,您需要在web.config文件中添加一个条目,告诉umbraco忽略该路径(因此它不会尝试解释URL)。

只需将您的路径添加到以下appSetting中即可:

<add key="umbracoReservedPaths" value="/umbraco,/install,/YOUR/PATH/HERE" />

该链接随后将在仪表板控件中起作用,但是它将链接到未应用所​​有仪表板设计的页面(因此选项卡将消失,等等)。 您可以将设计应用到您的.aspx页面,但是这需要很多工作。

iFrame选项

由于“链接到页面”选项中所述的限制,您可能希望将管理页面加载到放置在.ascx控件上的iFrame中。

这样,您可以从.aspx转到.aspx,并且仍然保留仪表板选项卡和周围的设计。

您仍然需要将包含.aspx页的文件夹添加到web.config中的umbracoReservedPaths条目中

<add key="umbracoReservedPaths" value="/umbraco,/install,/YOUR/PATH/HERE" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM