Навигация между элементами управления модуля DotNetNuke с помощью EditURL () или NavigateURL () - PullRequest
10 голосов
/ 16 декабря 2009

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

У меня есть тестовая страница, которая содержит модуль DNN с одним определением модуля и два элемента управления в этом определении. Элемент управления по умолчанию показывает статью на основе поля articleID в строке запроса. Затем вы нажимаете кнопку, которая должна загрузить элемент управления для редактирования, и передаете articleID в строке запроса.

Если я использую EditURL() в onClick, элемент управления для редактирования загружается с правильным articleID, но с использованием скина администратора. Если я использую Globals.NavigateURL(), то отображается правильный скин, но мой элемент редактирования не загружается на странице.

Есть ли какие-либо подсказки относительно того, что я делаю неправильно или как загрузить элемент управления редактированием с правильным скином?

Мои два метода переключения на элемент управления для редактирования (в моем событии нажатия кнопки) перечислены ниже:

string newURL = this.EditUrl("articleID", Request.QueryString["articleID"], "EditArticle");

        Response.Redirect(newURL);

и

        string newURL = Globals.NavigateURL(this.TabId, "EditArticle","articleID="+Request.QueryString["articleID"]);

        Response.Redirect(newURL);

1 Ответ

5 голосов
/ 16 декабря 2009

На самом деле вы делаете это правильно - editurl в DNN загружает скин администратора - обычно этот скин основан на том, что кто-то управляет контентом, поэтому он удаляет все остальные модули и показывает «основы». Правильно или неправильно это то, что он делает.

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

Существует несколько других подходов, таких как изменение области содержимого на редактирование текстовой области с помощью ajax или использование всплывающих модальных окон.

...