首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

使用 URL 重寫實現 DotNetNuke 新視窗開啟內容(一):痛點分析與方案演進

     編輯:關於ASP.NET

背景: 早期整理於 Google Docs 的思考筆記,為完整呈現解決歷程,分三篇發表。

核心痛點:單一 Default.aspx 的限制

運行中的 DotNetNuke 僅有一個入口頁面 Default.aspx,所有功能皆以用戶控件 載入。這架構雖優雅(模組錯誤隔離、皮膚管理簡單),但導致所有內容皆在同一視窗開啟。這符合美式瀏覽習慣(CNN、NBA 等站內頁面跳轉),但嚴重違背國人習慣:國人習慣 Ctrl+Click 開啟多個新聞分頁,背景載入、逐一閱讀。

差異成因探討

早期國內頻寬不足,開啟多視窗並行載入可節省等待時間;美處網絡核心,單視窗瀏覽體驗佳。此文化差異直接影響 CMS 介面設計取向。

嘗試過的失敗方案

  • 自寫 aspx 動態載入 ascx: 破壞 DNN 架構,核心變數需手工透傳,維護惡夢。
  • 自建系統與 DNN 共享資料: 過度複雜,最終否決。
  • 棄用 DNN 改用 Rainbow: Rainbow 採 aspx 頁面驅動,符合多視窗需求,但 2007 年仍停留在 .NET 1.1/VS2003,生態不活躍,放棄開源模組優勢代價過大。

最終方案:複製並改寫 Default.aspx

在根目錄建立 Edit.aspx,移除全站皮膚與容器,僅保留模組編輯所需 Pane。此方案在底層解決問題,不破壞模組架構,保留 DNN 核心優勢,兼顧國人瀏覽習慣。

此舉讓我避免了放棄兩年深耕的 DNN 平台,後續系列將詳細拆解實作細節。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved