2010-06-22 79 views
1

我目前有一個ASP.NET MVC應用程序存在。我想爲網站添加一個小型移動友好部分。我想保持它非常簡單,並將http://mdbf.codeplex.com/整合到我的項目中。然後在首頁/索引檢查是否是移動的,然後將它們轉發到移動控制器(http://mysite.com/mobile/index)。ASP.NET MVC移動控制器路由到子域

但是,我也想設置,如果他們鍵入http://m.mysite.com它會自動顯示移動/索引,而不會有URL(http://m.mysite.com/moble/index。還有,假設我在移動控制器中有另一個操作方法,我希望能夠要做http://m.mysite.com/MobileList而不是必須做http://m.mysite.com/Mobile/MobileList

關於如何做到這一點的任何想法?我需要弄亂路由嗎?目前我只是使用缺省的默認控制器/動作/ ID路由。我試圖儘可能保持簡單。

回答

4

你真的需要一個單獨的控制器嗎?我們做一些事情muc h像this post一樣。我們使用相同的控制器,但使用不同的視圖,並使用自定義的ViewEngine進行選擇。簡單,有效,並且不需要單獨的URI。

+1

+1。我同意克雷格。如果您想簡化操作,請爲移動版和桌面版保留相同的控制器,並讓(自定義的)ViewEngine根據useragent和/或請求的域來提供不同的視圖。 – PanJanek 2010-06-22 18:17:35

+0

我有這個問題是沒有辦法總是保證移動。我看到的是http://mobile.site.com會迫使他們進入移動模式(我的想法是將他們引導到移動控制器),對嗎? – aherrick 2010-06-22 18:56:26

+0

如果你想*強制*手機,你添加該功能* *後,你會得到自動檢測工作。我們用cookie來做。實際上,它只用於測試;自動檢測總是適用於其他情況。您的需求可能會有所不同。 – 2010-06-22 19:01:40