2009-04-22 14 views
0

Ich habe die Dynamic Data-Dateien zu unserer bestehenden Website hinzugefügt, und das funktionierte so weit, dass ein DynamicDataManager zu einer Seite hinzugefügt und ein GridView für die Verwendung festgelegt wurde. Ich denke jedoch, dass ich die volle Gerüstfunktionalität in Gang setzen möchte, damit ich nicht alle Layouts für alle Tabellen schreiben muss. Leider kann ich es nicht zur Arbeit bringen.Wie kann ich einer bestehenden ASP.NET-Website ein Datengerüst hinzufügen?

Ich habe Application_start() Code hinzugefügt, um den Datenkontext zu registrieren und die Route einzurichten. Ich habe mit beiden Versionen "{table} /ListDetails.aspx" und "{table}/{action} .aspx" versucht, aber ich bekomme nur einen HTTP 404 Fehler. Ich habe auch ScaffoldAllTables auf True gesetzt.

Fehle ich hier ein oder zwei Schritte?

Hier ist meine Anwendung Startcode:

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 
      }); 
     } 

Antwort

1

I

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

zum httmodules Abschnitt meines web.config hinzufügen benötigt.

+0

OK. Schön zu sehen, dass Sie die Lösung gefunden haben. :-) – Michael

0

Haben Sie fügen Sie diese in Ihrer global.asax

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

http://msdn.microsoft.com/en-us/library/cc488469.aspx eine Schritt für Schritt walkthrough..see hat, wenn Sie verpasst haben.

+0

Überprüfen Sie im obigen Artikel den ersten Kommentar zum Löschen des app_code-Ordners und setzen Sie die dbml-Datei in den Stamm, um auf DataContext zuzugreifen. –

+0

Die DBML-Datei befindet sich in einer DLL-Datei ... muss ich etwas Besonderes dafür tun? – CodeRedick

0

Können Sie Ihren Application_start() Code anzeigen? Und welche Version von IIS verwenden Sie?

Eine gute Erklärung für das Hinzufügen Dynamic Data zu einer bestehenden Website auf Scott Hanselman Website: http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

+0

Version 5.1 von IIS, aber ich führe es durch Visual Studio ... wird die app_start in einer Sekunde – CodeRedick

+0

Ich glaube nicht, dass es ein IIS-Problem ist ... Ich habe eine schnelle Dynamic Data Web Application und Es funktioniert gut über Visual Studio. – CodeRedick

Verwandte Themen