1

我已经在 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"]')

有没有办法在自定义仪表板控件中从一个用户控件链接到另一个用户控件?

4

3 回答 3

1

回发选项

与其尝试在页面之间进行链接,为什么不通过使用回发来完成现有用户控件中的所有工作?

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

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

这将正常工作,因为 umbraco 不会尝试解释 URL,因为它停留在同一页面上。

于 2009-06-24T11:00:40.747 回答
1

链接到页面选项

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

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

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

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

于 2009-06-24T11:05:15.653 回答
1

iFrame 选项

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

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

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

<add key="umbracoReservedPaths" value="/umbraco,/install,/YOUR/PATH/HERE" />
于 2009-06-24T11:08:06.317 回答