我一直在玩ASP.net MVC 4的新顯示模式功能,您可以將手機添加到顯示頁面(Index.Mobile.cshtml),它會呈現移動設備的移動版本。是否有可能爲不同的用戶代理使用不同的控制器?像HomeController.Mobile.cs的東西?我試過這個,但它不起作用。編譯器希望HomeController.cs和HomeController.Mobile.cs是局部的。asp.net mvc 4顯示模式和控制器
我知道我可以創建一個移動區域並將所有移動流量重定向到該區域,以便移動設備擁有自己的控制器。但是,我更喜歡HomeController.Mobile.cs之類的東西,因此它使得代碼庫更乾淨。否則,使用ASP.net 4的顯示模式,移動版本和頁面的網頁版本將具有相同的控制器邏輯,這並不總是需要的。有關如何做到這一點的任何想法?
移動設備與網頁不同。最顯着的是屏幕的實際尺寸。我在想,對於任何特定的請求,如果一個網頁,然後我可以提供更多的內容來填補屏幕房地產然後我可以做一個移動設備。 MVC 4爲基於用戶代理切換視圖提供了一些很棒的功能。我可以根據不同的接口獲得不同的視圖,但是,我堅持使用相同的控制器來爲不同的視圖收集不同的數據集。我不想要「如果(isMobileDevice)」在控制器中。任何其他選項? – 2012-03-30 21:14:28
對不起,在第一條評論中用完了字符......總之,對於給定的請求,我想根據用戶代理提供不同的數據(即不同的接口)。我如何在控制器中有效地做到這一點? – 2012-03-30 21:17:02
@TomSchreck,我做了一些編輯以解決您的意見 – 2012-03-31 01:05:30