我正在形成一個通訊,其中包含指向DNN網站中各種html模塊的鏈接。我有權訪問他們的每個ModuleID,我想用它來獲取URL。目前的方法(由第三方開發人員制定)工作,但僅在一定程度上。當模塊位於網站更深處時,URL的形成不正確。導航到DNN模塊
例如位於www.website.com/website/articles.aspx的模塊工作正常,但位於www.website.com/website/articles/subarticles.aspx的模塊不會。我知道這是因爲url不正確。
下面是當前的代碼:
DotNetNuke.Entities.Modules.ModuleController objModCtrlg = new DotNetNuke.Entities.Modules.ModuleController();
DotNetNuke.Entities.Modules.ModuleInfo dgfdgdg = objModCtrlg.GetModule(ContentMID);
TabController objtabctrll = new TabController();
TabInfo objtabinfoo = objtabctrll.GetTab(tabidfrcontent);
string tabnamefremail= objtabinfoo.TabName;
moduletitlefrEmail = dgfdgdg.ModuleTitle;
string readmorelinkpath = basePath + "/" + tabnamefremail + ".aspx";
ContentMID是我期待在當前模塊ID。我試圖使用Globals.NavigateURL,但總是與Object reference not set to an instance of an object.
錯誤崩潰。當我使用objtabinfoo.FullUrl
時,同樣的事情,所以我目前對如何獲取特定模塊URL感到迷茫。
編輯:下面是一些關於如何檢索tabId的代碼。
IDictionary<int, TabInfo> dicTabInfo12 = new Dictionary<int, TabInfo>();
ContentMID = Convert.ToInt32(dsNewsList.Tables[0].Rows[i]["ModuleID"]);
dicTabInfo12 = objTabctrl.GetTabsByModuleID(ContentMID);
if (dicTabInfo12.Count > 0)
{
string tester = ""; //Debug
foreach (KeyValuePair<int, TabInfo> item1 in dicTabInfo12)
{
tabidfrcontent = item1.Key;
}
}
我仍然得到'對象引用未設置爲對象的實例'我不明白爲什麼。我唯一的猜測是tabid可能是錯的。不幸的是,我無法正確調試,因此我依靠寫入文本文件的消息。 – Mitchell 2012-07-13 19:31:18
我剛剛看到這篇文章http://www.dotnetnuke.com/Resources/Forums/forumid/203/postid/361541/scope/posts.aspx我在計劃任務中使用它,這可能是爲什麼我會得到錯誤。問題是,我將如何獲取並分配門戶網站設置? – Mitchell 2012-07-13 20:21:34