2009-11-03 8 views
5

Sto lavorando su un'applicazione ASP.Net MVC con viste che desidero essere in grado di formattare per browser desktop e browser mobili. Entrambi i formati utilizzano gli stessi controller e azioni, ma richiedono visualizzazioni diverse.Formato ASP.Net MVC app per browser desktop e mobile

Qual è il modo migliore per farlo? Devo rilevare un browser nell'azione e quindi richiamare la vista appropriata? La vista rileva il browser e quindi esegue il rendering di conseguenza? C'è qualcosa tra return View(); e quando la vista viene effettivamente elaborata che posso eseguire l'override?

Grazie

+0

Qui: [Mobile Web Application Toolkit] (http://code.msdn.microsoft.com/WebAppToolkitMobile). E non dimenticare di usare WURFL. – fravelgue

+0

Sembra che il kit di strumenti per app Web mobile sia proprio ciò di cui ho bisogno. Ho saputo di MDBF e avevo già programmato di usarlo. Grazie per i link! – Matthew

risposta

0

vorrei rilevare il browser nel controller e restituire la vista appropriata. Immagino che potresti sovrascrivere il motore di visualizzazione ma sembra davvero eccessivo.

+0

Questo è quello che stavo pensando, ma non sembra giusto terminare ogni metodo di azione con se browser == mobile visualizzazione di ritorno ("mobile"); else visualizzazione di ritorno ("desktop"); – Matthew

1

Andrei con gli attributi personalizzati che riempiono le viste/le pagine principali appropriate attorno al modello restituito. Usiamo questa tattica pesantemente per l'Ajaxification, non dovrebbe essere difficile estendere il concetto al mobile.

+0

Interessante. Puoi darmi maggiori dettagli? Dove vanno gli attributi? Come usi gli attributi per decidere quale vista usare? Hai un motore di visualizzazione personalizzato? – Matthew