DotNetNuke 5 открыть aspx в новом окне - PullRequest
1 голос
/ 14 мая 2011

Другая проблема, с которой я столкнулся в DNN5:

В настоящее время я создаю модуль, который отображает GridView со столбцом «Редактировать».Когда пользователь нажимает на столбец «Редактировать», он должен открыть форму редактирования в новом окне.Эта форма редактирования представляет собой ASPX-страницу внутри папки моего модуля и ожидает параметр ModuleId для доступа к настройкам модуля;эта часть работает нормально, и я могу получить настройки модуля.

Однако у меня все еще есть следующие проблемы:

  1. Как я могу локализовать своиМетки? Я пробовал управление ярлыками DNN, но безуспешно.Я также попробовал asp: Label с «meta: resourceKey», но похоже, что он не может получить доступ к локальному файлу ресурса.

  2. Очень неудобно использовать Aspx-страницы вмой модуль, так как он будет работать вне контекста DotNetNuke.Кто-нибудь знает подход, который позволяет мне использовать PortalModuleBase?Я пытался отобразить страницу DotNetNuke в новом окне, просто ссылаясь на элемент управления для загрузки.Однако когда я это сделаю, он покажет мне полную страницу (например, с панелью навигации, нижним колонтитулом и т. Д.), И я на самом деле просто хочу показать элемент управления.Кроме того, я могу открыть свою Aspx-страницу только путем ссылки на /DesktopModules/MyModule/Page.aspx вместо DNN NavigateUrl или около того.

Спасибо за ваши ответы.

Ответы [ 3 ]

0 голосов
/ 17 мая 2011

DNN будет скрывать все остальные модули на странице всякий раз, когда для страницы указан элемент управления (или ctl = mycontrol).Итак,

  1. Вы должны изменить свой код со страницы ASPX на элемент управления ASCX.
  2. Добавьте элемент управления ascx в раздел «Элементы управления модуля» определения модуля.
  3. Используйте функцию DNN NavigateURL для генерации ссылки.Вы захотите использовать одну из опций, где вы указываете управляющий ключ (например, NavigateURL ("edit", "SkinSrc = [G]" + Globals.QueryStringEncode (DotNetNuke.UI.Skins.SkinInfo.RootSkin + "/" +Globals.glbHostSkinFolder + "/" + "No Skin"))

В приведенном выше примере "edit" - это ключ управления, указанный вами для элемента управления.

0 голосов
/ 20 мая 2011
  1. Mate для локализации Aspx-страниц, работающих вне контекста DotNetNuke, я предлагаю вам сделать это программно.Это даст вам больше контроля, и вы сможете отладить его, если возникнет какая-то проблема.

  2. Как и EfficionDave, предложите использовать Control Key (i.e. NavigateURL("edit", "SkinSrc=[G]" + Globals.QueryStringEncode( DotNetNuke.UI.Skins.SkinInfo.RootSkin + "/" + Globals.glbHostSkinFolder + "/" + "No Skin" )) метод

/ АднанZameer

http://www.adnanzameer.com

0 голосов
/ 14 мая 2011

Почему бы не загрузить интерфейс редактирования в другой файл ASCX, а не на страницу ASPX?Проверьте http://dnnsimplearticle.codeplex.com для некоторых примеров в C #.Это основной модуль статьи, но он делает много полезного с точки зрения DNN.

...