2010-09-13 81 views
2

行,所以我創造了這個母版頁文件,並在其Page_PreInit添加的代碼detecing訪問者的國家後,在運行時更改母版頁: -動態更改母版頁

現在,同時研究我碰到這個線程來了說:「在Page_PreInit事件中設置主頁是違反MVC的設計和精神。這應該是什麼意思?

如果不是這種方式,我應該如何改變主頁在運行時?

+1

您是在創建一個ASP.Net MVC應用程序還是一個普通的ASP.Net應用程序? – 2010-09-13 08:06:01

+0

更改標題。這顯然是一個問題,標籤會處理平臺描述。 – spender 2010-09-13 08:07:48

+0

@Mikael ::使用webforms ..所以只適用於基於MVC的應用程序..好嗎?所以如果它是基於MVC的,爲什麼改變Page_PreInit事件中的主頁面不是正確的路要走? – Serenity 2010-09-13 08:13:30

回答

1

我只能猜測MVC的'精神'所描述的線程作者是什麼意思MVC是一種工具,就像其他工具一樣在你的工具包中。有更好的方法來使用工具以及濫用工具的方法。

我認爲答案取決於您的母版頁中的內容。更具體地說,各國之間有什麼不同。如果主要是佈局,標識,顏色和其他樣式的問題,那麼可能在您的CSS中通過注入基於國家/地區的不同樣式表更好地處理。

如果它更多的是關於內容和語言,那麼你應該退後一步並檢查你的路由策略。常用的方法是在國家代碼中包含網址。例如:domain.com/UK/product/1或domain.com/DE/product/1

要看的另一件事是MVC Areas。雖然它通常用於網站的功能不同部分,但我曾看到用於沿文化/國家邊界劃分網站的區域取得了一些成功。當不同的國家網站之間存在很大的功能差異時,這通常會更好。