2015-03-18 35 views
0

任何DNN開發人員誰都知道了這一點? 我有一個用戶控件(ascx)(DotNetNuke擴展),帶有4個用戶控件。第一個視圖表單上有按鈕可以訪問其他視圖。 當您訪問另一個控件時,可以訪問該控件的其他控件。我正在尋找將用戶重定向到用戶所在的先前控件的最佳方式,而不管控件的「級別」。DotNetNuke嵌套控件重定向方法

下面是一個例子。

1)首先查看的格式:人們列出可用

按鈕:

2)用戶地址 3)用戶下載 4)用戶視頻 5)其他用戶相關的模塊

比方說,我選擇2)用戶地址

在該用戶控件上,我有按鈕3,4和5

如果我想返回到第一個視圖控件(1),我只需使用DotNetNuke.Nvigation.NavigateURL並傳入我正在查詢的用戶的參數。這工作正常。

但現在不是回到1我選擇去3)用戶下載 當用戶點擊'返回'按鈕轉到上一個屏幕(而不是瀏覽器後退按鈕;這是我的按鈕窗體)我想回到2)用戶地址,而不是回到第一個視圖控件(1)。

我試過把第一個視圖控件作爲另一個控件添加到同一個擴展中,並使用EditURL來調用它,但屏幕在重定向時顯示空白(除DNN菜單等)。

如何將用戶重定向到上一個控件,而不是模塊的第一個控件?

如果這沒有意義,讓我知道,我會盡力解釋它。

謝謝。

回答

0

我決定爲此編寫一個自定義解決方案。它工作得很好,但有點牽扯。

1)我寫了一個SourceType枚舉來列出我的應用程序中的不同表單。

2)任何頁面都可以作爲'基礎頁面'。在表單加載中,我讀取了「基本頁面url」設置中的一個屬性,如果它尚未存在,我將基礎頁面的rawurl寫入設置中3)由於子控件都使用與基頁相同的設置,所以無論何時導航,我都會將基頁的枚舉值傳遞給新窗體;在新的表單我讀取新表單的Page_Load中的基本頁面URL,如果當前表單的枚舉值不同於傳入的枚舉值(它是),我將該基本URL用於鏈接「返回」。

4)如果用戶轉到另一個表單f從第二種形式開始,重複該過程。但是我把這兩個'prevous'形式枚舉都傳遞給了第三種形式,所以它顯示了兩個可以選擇返回的鏈接。

5)這可以儘可能的重新進行重新計算。需要注意的是,在將SourceForms屬性傳遞迴先前的表單之前,必須從SourceType枚舉中移除當前表單;如果您不這樣做,您來自的表單也將被列爲您不想要的「返回」表單。

希望這可以幫助無法找出模塊中多個控件內的乾淨DNN重定向解決方案的用戶。

如果這不清楚打我,我會顯示我的一些代碼。

0

您可能希望將請求中的querystring參數傳遞給各種控件,以便您可以跟蹤它們的位置以及如何取回。

例子:

而不是隻調用CTL = controlvalue嘗試調用CTL = controlvalue & prevvalue =編輯

然後你就可以將你的返回代碼使用 「prevvalue」

的查詢字符串值

Chris

0

查看我的DNNHero.com視頻教程Module Views, Settings & Navigation。我給出了不同的模塊視圖導航方法的代碼和指令。

+0

這是一項付費服務​​; 80美元 - 是否顯示如何在同一個dnn擴展中上下瀏覽一系列模塊控件?我知道基本的視圖導航,與此不同的是導航到前一個控件,同時跟蹤其先前的控件一直返回到鏈中的第一個始發控件?我相信我必須寫這個習俗。 – 2015-03-19 05:28:54