Ошибка добавления модуля DNN, когда элементу управления назначен ключ - PullRequest
1 голос
/ 08 декабря 2010

Я создаю модуль, и мне удалось добавить пользовательский элемент управления в качестве типа представления, и все работает.Я хочу добавить второй элемент управления, также как тип представления, но именно здесь начинаются проблемы.

Если я просто добавлю новый элемент управления в определение модуля, он отображает только этот элемент управления, а не оба.Если я удаляю его, оригинальный элемент управления отображается нормально.Возвращаясь к определениям модуля, я перешел к элементам управления модуля и присвоил значения соответствующим свойствам ключа.Когда я сохраняю, мой модуль исчезает со страницы, на которой он отображался.Если я пытаюсь добавить его снова, я получаю «Ссылка на объект не установлена ​​для экземпляра объекта».

Это было методом проб и ошибок, я обнаружил, что если я удалю ключ, я могу повторно добавить модульэто работает снова (по крайней мере, как описано выше).

По сути, я хочу несколько представлений для моего модуля, где отдельные представления могут отображаться на разных страницах (так же, как модуль блога).Я не создаю пакет для распространения, поэтому я почти приступил к созданию отдельного модуля, но где в этом заключается опыт обучения?

Я искал учебник по созданию модуля снесколько просмотров без удачи.Кто-нибудь может дать некоторое представление?

Ответы [ 3 ]

0 голосов
/ 13 декабря 2010

В DotNetNuke может быть только один «Просмотр», поэтому, если вы хотите создать что-то, что отображает разные виды, в зависимости от ситуации, вам нужно создать представление «Диспетчеризация». Таким образом, в зависимости от настроек вашего модуля, таких как у вас, или параметра URL, cookie, сессии, что-то в основном представлении получает другой пользовательский элемент управления для отображения того, что необходимо.

Этот пост немного об этом говорит Просмотр отправки

Похоже, вы нашли решение, которое работает для вас.

0 голосов
/ 13 декабря 2010

Из коробки DotNeNuke также поддерживает использование нескольких представлений, однако, как только вы переключаетесь на другое представление, модуль переходит в «Режим изоляции», где он становится единственным видимым на странице модулем.

Если это поведение будет работать для вас, вы можете добавить несколько элементов управления, ПЕРВЫЙ элемент управления, который вы добавляете без ключа, дополнительные элементы управления, которые вы добавляете с определенным ключом.Затем вы можете использовать NavigateUrl или EditUrl для создания ссылки на определенные элементы управления.

С точки зрения «редактирования» использование этого шаблона гарантирует, что ваши пользователи будут иметь согласованную среду только с вашим модулем.С точки зрения просмотра использование других шаблонов чаще всего является «лучшим» выбором.

0 голосов
/ 09 декабря 2010

Я обошел эту проблему, используя modulesettings, чтобы выбрать, какой дисплей мне нужен для этого экземпляра, в моем случае я использовал настройку, чтобы определить, какой внешний интерфейс был видимым, а какой нет, а также код бэкэнда.1002 * Другой вариант - иметь одно представление ascx, которое является заполнителем, и внедрить любое представление ascx, которое вы хотите, основываясь на наборе модулей.

Я использовал оба эти метода ранее, и оба хорошо работают

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...