У меня есть страница интрасети, в которой используется 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>
Редактировать
После следования 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
По какой-то причине он привязывает только стандартные атрибуты sitemap (title, url и т. Д.) И ошибки ( DataBinding: 'System.Web.SiteMapNode' не содержит свойства с именем 'address' ) когда я ставлю точку останова, я могу прочитать стандартные атрибуты, а пользовательские атрибуты, которые, кажется, проходят,
Так расстраивает, как я так близко !!
Редактировать 2:
Нашел способ открыть другое окно с помощью команды _blank, но он не дает мне возможности настроить размер окна, удалить адресные строки и т. Д. Если кто-нибудь сможет заставить работать пример связанной страницы, я бы хотел увидеть пример!
Редактировать 3:
Убедил, что это как-то связано с этими строками
title = ((SiteMapNode)(e.Item.DataItem))["title"];
не должно быть
title = ((System.Web.SiteMapNode)(e.Item.DataItem)).Title;
при использовании этого параметра для нестандартных параметров карты сайта (адрес, высота и т. Д.) Выдает ошибки?