2010-06-22 3 views
1

J'ai actuellement une application ASP.NET MVC qui existe. Je veux ajouter une petite section mobile amicale au site. Je veux le garder extrêmement simple et intégrer http://mdbf.codeplex.com/ dans mon projet. Puis sur Accueil/Index, vérifiez s'ils sont mobiles, puis transférez-les sur le Mobile Controller (http://mysite.com/mobile/index).Contrôleur ASP.NET MVC MOBILE Route vers le sous-domaine

Cependant, je veux également configurer si ils tapez http://m.mysite.com il affichera automatiquement mobile/index sans avoir l'URL soit (http://m.mysite.com/moble/index). Aussi, disons que j'avais une autre méthode d'action dans le contrôleur mobile. faire au lieu de devoir faire http://m.mysite.com/Mobile/MobileList

Avez-vous besoin de désordre avec les routes? Actuellement j'utilise simplement la route par défaut contrôleur/action/id qui vient par défaut. J'essaie de garder cela aussi simple que possible

Répondre

4

Avez-vous vraiment besoin d'un contrôleur séparé? h aime this post. Nous utilisons le même contrôleur mais des vues différentes, et un ViewEngine personnalisé à sélectionner. Facile, fonctionne, et aucun URI séparé nécessaire.

+1

+1. Je suis d'accord avec Craig. Si vous voulez garder les choses simples, gardez les mêmes contrôleurs pour les versions mobiles et de bureau et laissez ViewEngine (personnalisé) servir différentes vues en fonction de l'agent utilisateur et/ou du domaine demandé. – PanJanek

+0

Le problème que j'ai avec cela est qu'il n'y a aucun moyen de toujours garantir mobile. Ce que j'ai vu, ce sont les gars de http://mobile.site.com qui vont les forcer en mode mobile (ma pensée serait de les diriger vers le contrôleur mobile) non? – aherrick

+0

Si vous voulez * forcer * mobile, vous ajoutez cette fonctionnalité * après * que vous ayez détecté automatiquement le fonctionnement. Nous le faisons avec un cookie. En pratique, il est utilisé uniquement pour les tests; auto-detect fonctionne toujours pour d'autres cas. Vos besoins peuvent être différents. –