我有一个 Intranet 页面,它有一个驱动ASP
整个站点的 Site.map 驱动的菜单控件。
对于我的大多数页面,将用户推送到当前窗口中的新内容页面非常棒。
然而,对于某些大型报表,根本没有足够的空间来舒适地显示整个页面。
单击某些节点时是否有可能理想地出现一个new
或pop up
窗口,让我可以选择大小。
站点地图文件的示例代码
<siteMap>
<siteMapNode title="Top" >
<siteMapNode title="Menu 1" >
<siteMapNode title="Report" url="~/Iwantthisurl-to-pop-out.aspx"/>
</siteMapNode>
</siteMapNode>
</siteMap>
编辑,
在关注评论中的 url 之后,我离这里更近了。但是我收到一个错误。
Protected Sub Menu1_MenuItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MenuEventArgs)
Dim address As String = String.Empty
Dim heigth As String = String.Empty
Dim width As String = String.Empty
Dim title As String = String.Empty
Dim url As String = String.Empty
Dim poptest As String = String.Empty
poptest = CStr(DataBinder.Eval(e.Item.DataItem, "url"))
If String.IsNullOrEmpty(poptest) Then
address = CStr(DataBinder.Eval(e.Item.DataItem, "address"))
heigth = CStr(DataBinder.Eval(e.Item.DataItem, "heigth"))
width = CStr(DataBinder.Eval(e.Item.DataItem, "width"))
title = CStr(DataBinder.Eval(e.Item.DataItem, "title"))
url = CStr(DataBinder.Eval(e.Item.DataItem, "url"))
Else
End If
由于某种原因,它只绑定标准站点地图属性(标题、url 等)和错误(DataBinding: 'System.Web.SiteMapNode' 不包含名称为 'address' 的属性),当我可以读取断点时标准属性它的自定义属性似乎正在通过
如此令人沮丧,因为我是如此接近!
编辑 2:
找到了一种使用 _blank 命令打开另一个窗口的方法,但我无法调整窗口大小和删除地址栏等。如果有人可以让链接页面的示例正常工作,我很乐意看到一个示例!
编辑 3:
确信它与这些线条有关
title = ((SiteMapNode)(e.Item.DataItem))["title"];
不应该
title = ((System.Web.SiteMapNode)(e.Item.DataItem)).Title;
但是,当将其用于非标准站点地图参数(地址、高度等)时,它会引发错误吗?