2010-07-27 6 views
0

J'ai 2 URL/Données et/Données/{mois}/{jour}/{année}..net mvc2 - modifier l'emplacement de la vue du contrôleur

J'ai créé deux itinéraires

routes.MapRoute(
     "Data_Name",         
     "Data", 
     new { controller = "Data", action = "DataForAnyDate" } 
    ); 

    routes.MapRoute(
     "DataFullDate",         
     "Data/{month}/{day}/{year}",       
     new { controller = "Data", action = "DataForSpecificDate"} 
    ); 

quand je vais à/données, tout fonctionne, et voir que je vois est vues/données/DataForAnyDate et le contrôleur est Data.DataForAnyDate. Quand je vais dans/Data/12/29/2009 Je veux la même page asp (même vue), mais rempli de données à partir d'une date spécifique, donc j'utilise le contrôleur Data.DataForSpecificDate. Mais le problème est que mvc continue de chercher ma vue dans Views/Data/DataForSpecificDate et je veux qu'elle regarde dans Views/Data/DataForAnyDate.

Existe-t-il un moyen de dire à Data.DataForSpecificDate d'aller dans Views/Data/DataForAnyDateview, ou existe-t-il un autre moyen de résoudre ce problème?

Merci

--MB

Répondre

6

Dans la méthode DataForSpecificDate de votre DataController, spécifiez la vue en se terminant par Retour Voir ("DataForAnyDateview")

Étant donné que votre code du contrôleur est pas affichée ici , Je fais l'hypothèse que vous pourriez juste avoir Return View(); Dans ce cas, il cherchera une vue avec le même nom que la méthode.

+0

J'utilise ViewModels, donc ils le font: return View (viewModel); –

+0

Donc retournez View ("DataForAnyDateview", viewModel); semble fonctionner, merci –

Questions connexes