2009-04-22 5 views
0

J'ai ajouté les données dynamiques à notre site Web existant, et je me suis occupé de l'ajout d'un DynamicDataManager à une page et de la définition d'un GridView pour l'utiliser. Cependant, je pense que j'aimerais que la fonctionnalité d'échafaudage soit opérationnelle et que je n'ai pas besoin d'écrire toutes les mises en page pour toutes les tables. Malheureusement, je ne peux pas le faire fonctionner.Comment puis-je ajouter un échafaudage de données à un site Web ASP.NET existant?

J'ai ajouté du code à Application_start() pour enregistrer le contexte de données et configurer l'itinéraire. J'ai essayé à la fois avec les versions "{table}/ListDetails.aspx" et "{table}/{action} .aspx" mais je n'ai reçu qu'une erreur HTTP 404. J'ai aussi ScaffoldAllTables mis à vrai.

Ai-je raté une étape ou deux ici?

Voici mon application du code de démarrage:

protected void Application_Start(Object sender, EventArgs e) 
     { 


      RegisterRoutes(RouteTable.Routes); 

     } 


public static void RegisterRoutes(RouteCollection routes) 
     { 
      MetaModel model = new MetaModel(); 


      model.RegisterContext(typeof(ESLinqDataContext), new ContextConfiguration() { ScaffoldAllTables = true }); 


      routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") 
      { 
       Action = PageAction.List, 
       ViewName = "ListDetails", 
       Model = model 
      }); 

      routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") 
      { 
       Action = PageAction.Details, 
       ViewName = "ListDetails", 
       Model = model 
      }); 
     } 

Répondre

1

je besoin d'ajouter

<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, publicKeyToken=31BF3856AD364E35" /> 

à la section httmodules de mon web.config.

+0

OK. Heureux de vous voir trouvé la solution. :-) – Michael

0

Avez-vous ajouté dans votre global.asax

model.RegisterContext(typeof(AdventureWorksLT_DataModel.AdventureWorksLT_DataEntities), 
new ContextConfiguration() { ScaffoldAllTables = true }); 

http://msdn.microsoft.com/en-us/library/cc488469.aspx a une étape par étape walkthrough..see si vous avez manqué tout.

+0

Dans l'article ci-dessus, vérifiez le premier commentaire sur la suppression du dossier app_code et la mise en place du fichier dbml à la racine pour accéder à DataContext. –

+0

Le fichier dbml est dans un fichier dll ... dois-je faire quelque chose de spécial pour ça? – CodeRedick

0

Pourriez-vous montrer votre code Application_start()? Et quelle version d'IIS utilisez-vous?

Une bonne explication de l'ajout de données dynamiques à un site Web existant se trouvent sur le site Web de Scott Hanselman: http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

+0

La version 5.1 d'IIS, mais je l'exécute via Visual Studio ... publiera l'app_start en une seconde – CodeRedick

+0

Je ne pense pas que ce soit un problème IIS ... J'ai mis en place une rapide application Web de données dynamiques et cela fonctionne très bien avec Visual Studio. – CodeRedick

Questions connexes