2015-09-21 4 views
0

В моем событии Page_Load моего настраиваемого модуля DNN я извлекаю настройки, которые я сохранил, используя следующее.Перенаправление на другой элемент управления DNN

if (((string)Settings["username"] != null) && ((string)Settings["username"] != "")) 
    username = ""; 
{ 
    username = (string)Settings["username"]; 
if (((string)Settings["password"] != null) && ((string)Settings["password"] != "")) 
{ 
    password = (string)Settings["password"]; 
} 
if (((string)Settings["baseServiceUrl"] != null) && ((string)Settings["baseServiceUrl"] != "")) 
{ 
    baseServiceUrl = (string)Settings["baseServiceUrl"]; 
} 
baseServiceUrl = ""; 

Теперь мой вопрос, как перенаправить его в настройки модуля управления (так называемый settings.ascx), если имя пользователя, пароль или baseServiceurl является недействительным.

Я уверен, что это не так просто, как Response.Redirect ('settings.ascx');

Моя цель - заменить имя пользователя = "";

с фрагментом, подобным Response.Redirect ('settings.ascx');

Пожалуйста, помогите

ответ

0

Еще раз спасибо Крис, ваш ответ правильный, но я решил получить настройки модуля с помощью модального всплывающего окна. Это то, что я сделал, чтобы получить ответ, чтобы получить всплывающий скрипт javascript и url, который я щелкнул правой кнопкой мыши на значке шестеренки, используя google chrome, и проверил элемент.

Затем я скопировал содержимое на HREF атрибут тега привязки, это выглядело немного как

href="javascript:dnnModal.show('http://localhost/TestPage/ctl/Module/ModuleId/417?ReturnURL=/TestPage&popUp=true',/*showReturn*/false,550,950,true,'')"> 

В моей странице default.aspx Я создал якорь тег без HREF. Я сделал это серверный элемент управления, поместив RUNAT = сервер и добавить идентификатор к нему и сделал видимость ложной (в моей логике я сделать его видимым, если он не соответствует моим критериям)

<a runat="server" class="btn btn-success" id="settingsLink" visible="false" > <img src="/images/action_settings.gif"><span>Settings</span></a> 

Следующим создать метод динамически строить мою ссылку

private string settingsUrlBuilder() 
{ 
    var s = new StringBuilder(); 
    var urlPartArray = TabController.CurrentPage.FullUrl.ToString().Split('/'); 
    var partUrl = urlPartArray[3].ToString(); 
    s.Append("javascript:dnnModal.show('"); 
    s.Append(TabController.CurrentPage.FullUrl.ToString().ToLower()); 
    s.Append("/ctl/Module/ModuleId/" + ModuleId.ToString()); 
    s.Append("?ReturnURL=/"); 
    s.Append(partUrl); 
    s.Append("&popUp=true"); 
    s.Append("',/*showReturn*/false,550,950,true,'')"); 
    return s.ToString(); 
} 

Это где я использовать функцию загрузки страницы

settingsLink.HRef = settingsUrlBuilder(); settingsLink.Visible = true; 
1

Если вы хотите, чтобы загрузить другой ASCX файл, который зарегистрирован в DNN (зарегистрирован в модуле определения, через файл манифеста) вы делаете это путем вызова метода EditUrl или метода NavigateURL в DNN.

EditUrl («Настройки»), где «Настройки» - это ControlKey, определенные в определении модуля.

Редактировать URL доступен из PortalModuleBase, предполагая, что ваши элементы управления наследуются от PMB.

Смежные вопросы