Как перенаправить из одного модуля DotNetNuke в другой? - PullRequest
1 голос
/ 12 августа 2011

Я новичок в дотнетнуке.

Я разработал три модуля в папке desktopmodules. как

desktopmodules(folder)

     |
     --  EnterpriseSearch(folder)
           EnterpriseSearch.ascx

     |
     -- document search(folder)
           docsearch.ascx

     |
     --result(folder)
           result.ascx

Страница результатов является общей для поиска предприятий и документов. Я хочу перенаправить на страницу результатов из EnterpriseSearch и docsearch с параметром.

Я пытался разместить модуль результата "type" как "view" и метод DotNetNuke.Common.Globals.NavigateURL

Я пытался разместить модуль результатов "type" как "edit"

editurl()

но я не могу его перенаправить.

Я не хочу размещать три страницы в одной папке (в соответствии с моими требованиями)

пожалуйста, дайте мне решение моего вопроса

Ответы [ 3 ]

3 голосов
/ 12 августа 2011

Поскольку элементы управления находятся в разных модулях, вам нужно будет использовать Globals.NavigateURL для перехода на определенную страницу, на которой находится модуль.Если result.ascx является элементом управления того же модуля, вы можете использовать EditUrl и передать управляющий ключ, но он работает только в пределах одного и того же определения модуля.

В этом случае вам, вероятно, следует использоватьModuleController.GetModulesByDefinition чтобы получить модули результатов на портале, затем перейдите на страницу, на которой включен один из модулей.

3 голосов
/ 12 августа 2011
  1. Перетащите модуль EnterpriseSearch на страницу содержимого с именем EnterpriseSearch в вашей корневой установке DNN.При посещении этой страницы пользователи увидят «domain / EnterpriseSearch.aspx» в своей адресной строке.

  2. Перетащите модуль DocumentSearch на страницу содержимого с именем DocSearch в вашей корневой установке DNN.При посещении этой страницы пользователи увидят «домен / DocSearch.aspx» в своей адресной строке.

  3. Перетащите модуль результатов на страницу содержимого с именем SearchResults в вашей корневой установке DNN.Пользователи будут видеть «домен / SearchResults.aspx» в своей адресной строке при посещении этой страницы.

  4. В коде позади каждого поискового модуля введите следующий код после того, как пользователь щелкнет поиск (поискобработчик нажатия кнопки)

    Response.Redirect("/Search-Results.aspx?search=" & httpUtility.UrlEncode(TXT_Search.Text))
    
  5. В вашем модуле результатов поиска на SearchResults.aspx, в вашей функции загрузки страниц кода, выполните следующие действия:

    Dim MyString as String = httpUtility.URLDecode(Request.QueryString("search"))
    ' perform search ...
    
0 голосов
/ 29 ноября 2018

В событиях управления кнопкой просмотра вида напишите код ниже как

protected void Button1_Click(object sender, EventArgs e)
 {
    Response.Redirect(Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "WebUserControl", "mid=" + ModuleId.ToString()));          
 }

Следуйте приведенным ниже инструкциям URL и перенаправление с одной страницы на другую.

http://www.dnnsoftware.com/Content/Dnn.Platform/Documentation/Using%20the%20Control%20Panel/Host%20Console/Extensions/Module%20Definitions%20and%20Controls/Adding%20a%20Module%20Control.html

...