【发布时间】:2009-10-30 12:40:46
【问题描述】:
我有一个 Intranet 页面,它有一个驱动整个站点的 Site.map 驱动 ASP 菜单控件。
对于我的大多数页面,将用户推送到当前窗口内的新内容页面非常棒。
但是对于某些大型报表,根本没有足够的空间来舒适地显示整个页面。
是否有可能在单击某些节点时出现new 或pop up 窗口,让我可以选择大小。
站点地图文件的示例代码
<siteMap>
<siteMapNode title="Top" >
<siteMapNode title="Menu 1" >
<siteMapNode title="Report" url="~/Iwantthisurl-to-pop-out.aspx"/>
</siteMapNode>
</siteMapNode>
</siteMap>
编辑,
在 cmets 中关注 url Here 之后,我离得更近了。但是我遇到了一个错误。
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;
但是,当将它用于非标准站点地图参数(地址、高度等)时会引发错误?
【问题讨论】:
标签: asp.net reporting-services aspmenu