2013-02-26 24 views
1

我有一個自定義模塊在DNN 7有一個數據結構的項目屬於類別(稱爲「部分」,而不是DNN分類,只是一個簡單的部分名稱列表)。模塊編輯屏幕的工作原理是,在視圖控件上,您可以點擊每個類別的編輯鏈接,該編輯鏈接將加載類別編輯屏幕(傳遞類別ID)。這很好,當你保存我使用Globals.NavigateURL()返回到視圖屏幕。這一切都按預期工作。多重編輯模塊之間的DotNetNuke切換

在每個類別編輯屏幕上,我也有該類別中的項目列表,每個項目都帶有編輯鏈接。點擊編輯鏈接打開項目編輯屏幕,傳遞正確的項目ID,並允許我編輯該項目。這一切都很好,直到你保存。保存工作正常,但是當我想將用戶返回到該類別的編輯屏幕時,它不起作用。當我使用:

Response.Redirect(EditUrl("SectionId", sectionid.ToString(), "EditSections"), true); 

......沒有任何反應。它根本不會在任何地方重定向。這正是我使用去類別編輯頁面擺在首位在同一網址:

EditUrl("SectionId", Eval("SectionId").ToString(), "EditSections") 

然後,我使用類似的URL來獲得該項目的編輯頁面:

EditUrl("ItemId", Eval("ItemId").ToString(), "EditItems") 

我不明白爲什麼使用相同的URL導航到我已經導航到相同的頁面,根本就不會做任何事情。現在,我將它們一直髮回到視圖,但是如果您需要將幾個項目添加到同一類別中,則必須導航回該類別並添加另一個項目,但僅將其發送回視圖是很痛苦的。

之前有人看到過這樣的事嗎?

回答

0

我還沒有看到過自己,但是我不得不假定上下文在EditURL中丟失了,並且你沒有被髮送到正確的位置。

我建議你嘗試兩件事情之一(或兩者)。

  1. 調試EditURL返回的URL並查看是否可以找到 的區別。
  2. 對所有鏈接使用NavigateURL,並傳遞MID = ##作爲 moduleid作爲查詢字符串參數,以確保正確傳遞值 。

更新:如果您嘗試擁有多個編輯視圖並在它們之間移動,則可以使用「加載器」來代替編輯控件具有單獨的模塊定義。基本上定義了一個單獨的Edit.ascx文件,並在其中加載其他ASCX文件,並將其注入面板。該模塊http://dnnsimplearticle.codeplex.com/上的View控件可以做到這一點,但我之前沒有使用編輯控件嘗試過。

+0

我可以回到模塊,問題是我無法進入另一個編輯頁面,我無法使用NavigateURL。麻煩只是在編輯頁面之間切換。 – user2112508 2013-02-27 18:20:02

1

您是否嘗試過使用NavigateUrl而不是EditUrl的重載?

Globals.NavigateURL(TabId, "EditSections", "mid", ModuleId.ToString(), "SectionId", Eval("SectionId").ToString()) 
相關問題