如何在站点地图的单独窗口中打开文档

Sea*_*ean 5 sitemap asp.net menu

我希望使用站点地图在菜单控件中打开文档.我在站点地图中使用以下代码但收到错误.我希望能够单击菜单项,让它在新窗口中打开示例文档,但不要让原始页面导航到新位置(基本上不在主页上执行任何操作.)

<siteMapNode url="javascript:window.open('Sample.doc','SampleName'); return false" title="FAQs"  description="FAQs" />
Run Code Online (Sandbox Code Playgroud)

任何的想法?是否有一些我可以使用的javascript,不需要我在每个页面上注册一个函数?

Sea*_*ean 8

我最终使用了以下内容:

<siteMapNode url="javascript:window.open('Sample.doc','SampleName'); void(0);" title="FAQs"  description="FAQs" />
Run Code Online (Sandbox Code Playgroud)


Tev*_*vin 5

如果您在 ASP.NET Menu 控件上处理 OnMenuItemDataBound 事件,则可以在该项目上设置目标属性:

MyMenu.MenuItemDataBound += OnMenuItemDataBound

private void OnMenuItemDataBound(object sender, MenuEventArgs e)
{
    // Sets all menu items to open in new windows
    e.Item.Target = "_blank";

    // Uses a 'target' attribute in the XML sitemap if set:
    string targetAttributeValue = ((SiteMapNode)e.Item.DataItem)["target"];
    if (targetAttributeValue != null) {
        e.Item.Target = targetAttributeValue;
    }
}
Run Code Online (Sandbox Code Playgroud)