Хорошо я плохо знаком с DotNetNuke и должен записать простой модуль в DNN, который отобразит статью для всех и позволит администратору редактировать обвинение/добавление нового.
У меня есть тестовая страница, которая содержит модуль DNN с одним определением модуля и двумя средствами управления в том определении. Управление по умолчанию показывает статью на основе articleID поля в querystring. Вы затем нажимаете кнопку, которая, как предполагается, загружает средства редактирования и передает 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);
На самом деле вы делаете это правильно - editurl в DNN загружает скин администратора - обычно этот скин основан на том, что кто-то администрирует контент, поэтому он удаляет все остальные модули и показывает ' основы ». Правильно или неправильно, это именно то, что он делает.
Если вы не хотите этого делать, вы можете предоставить переключатель в строке запроса и показать отдельную панель или сделать многоэкранный элемент управления и показать разные представления в зависимости от переключателя в строке запроса .
Существует несколько других подходов, таких как изменение области содержимого на редактирование текстовой области с помощью ajax или использование всплывающих окон модального стиля.