RAD Web Applications with ASP.NET Dynamic Data
-
Upload
fredericka-kelley -
Category
Documents
-
view
29 -
download
3
description
Transcript of RAD Web Applications with ASP.NET Dynamic Data
![Page 1: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/1.jpg)
RAD Web Applications withASP.NET Dynamic DataIngo [email protected]
![Page 2: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/2.jpg)
Ingo Rammer und thinktecture
Kleine Beratungsfirma für Softwareentwickler
Unterstützung, Coaching und Beratung für Software-Architekten und -Entwickler
Architektur- und Code-ReviewsPrototypentwicklung und ArchitekturberatungCoaching und MentoringAnwendungsoptimierung und Troubleshooting
http://[email protected]
![Page 3: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/3.jpg)
ASP.NET Dynamic Data
Anpassbare, modell-/klassen-getriebene Technologie zur vollständigen oder teilweise Generierung von Web Frontends
Heute: Linq-to-SQL und Entity Framework"Scaffolding" Sehr anpassbar
Aber noch wichtigerDynamic Data Controls
![Page 4: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/4.jpg)
Anpassbares Scaffolding
Scaffolding ("Gerüst") – Automatische Erzeugung von FormsAnpassbares UI („No Limits“ – es ist nur .NET)Konfigurierbares URL Routing (ähnlich ASP.NET MVC)
![Page 5: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/5.jpg)
Erweiterbarkeit
Erweiterungsmodell für logisches Schema (Entity Framework oder Linq-to-SQL)
ValidierungBusiness Rules
Sortierung, Filterung, Bearbeiten, Einfügen, Löschen.NET Framework 3.5 SP1 (+ Hotfix)
![Page 6: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/6.jpg)
Scaffolding - Gerüstbau
"Hello World" für Dynamic DataNull-Code Datenformulare (aber: anpassbar, wann immer Sie möchten!)Auskommentieren der folgenden Zeile:
Aktiviert Scaffolding für alle Entities
// Global.asax in Application_Start
model.RegisterContext (typeof(NorthwindEntities), new ContextConfiguration() { ScaffoldAllTables = true });
![Page 7: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/7.jpg)
Custom Routing Definition
Standardmässig: Routing per Querystring, kann aber geändert werden:
http://server/Customershttp://server/Customers/ALFKIhttp://server/Customers/ALFKI/Edit... und viele andere Möglichkeiten
routes.Add(new DynamicDataRoute("Customers/{CustomerID}"){ Model = model, ViewName = "Details", Table = "Customers", Action = "Details"});
![Page 8: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/8.jpg)
Eingeschränktes Scaffolding
Attribute auf Klassen- und Feld-EbeneFeldebene unterstützt Metadaten-Redirection mit [MetadataType]
[ScaffoldTable(true)][MetadataType(typeof(ProductsMetaData))]public partial class Products{}
public class ProductsMetaData{ [ScaffoldColumn(true)] public object Name;}
![Page 9: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/9.jpg)
Anpassung der Vorlagen
TemplatesTemplates für Seiten(„alle Auflistungsseiten“, „alle Detailseiten“)Templates für Felder („alle Integer-TextBoxen“)
Spezielle/angepasste SeitenEine bestimmte ASP.NET Seite für Listen, Details, Bearbeiten or Einfügen
Global oder nur für einzelne Entitäten/Seiten (mit Routing)
Können DynamicField/DynamicControl mit UIHints verwenden
![Page 10: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/10.jpg)
Erstellen einer eigenen Seite
• Erstellen Sie einen Ordner unter CustomPages, der genau so heisst wie die Entität und kopieren Sie eine der verfügbaren Template-Seiten
• Erstellen des Ordners (Name = Typ der Entität)
• Kopieren der gewünschten ASPX Seite von PageTemplates nach CustomPages/EntityName
• Fertig! (Keine weitere Konfiguration notwendig)
![Page 11: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/11.jpg)
Beispielseite<asp:DetailsView DataSourceID="DetailsDataSource" AutoGenerateRows="false"> <Fields> <asp:DynamicField DataField="ProductName" /> <asp:DynamicField DataField="QuantityPerUnit" HeaderText ="Quantity" /> <asp:DynamicField DataField="UnitPrice" /> <asp:DynamicField DataField="UnitsInStock" /> <asp:DynamicField DataField="Categories" /> <asp:TemplateField> <HeaderTemplate>Name</HeaderTemplate> <ItemTemplate> Templated: <asp:DynamicControl
runat="server" DataField="ProductName" /> </ItemTemplate> </asp:TemplateField> </Fields><asp:DetailsView>
![Page 12: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/12.jpg)
Anpassen des Modells
[UIHint]: Verwenden eines bestimmten Controls für ein Feld[DataType]: spezieller Typ (bzw. ein String als "Name" des Typs), der später vom FieldTemplate verwendet werden kann („EmailAddress“, „Url“)[Range], [Required]: Validierungen[DisplayFormat]: Spezielles Anzeigeformat für ein Feld[DisplayField]: Definition der Spalte, die für Fremdschlüssel angezeigt werden soll (z.B. das Feld „Name“ für Kunden)[DisplayName]: Anzeigename für eine SpalteUnd mehr: Beliebige weitere selbstdefinierte Attribute, die Sie später in einem FieldTemplate prüfen möchten
![Page 13: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/13.jpg)
Angepasste Felder
Erstellen Sie ein ASCX in /FieldTemplates, abgeleitet von FieldTemplateUserControl und überschreiben Sie die Proprety DataControlWeitere Möglichkeiten:
Überschreiben von FormatFieldValue, ExtractValuesVerwenden von MetaDataAttribute. TypeOf<T>() um Zugriff auf die Attribute zu erhalten, die im Modell für dieses Feld definiert sind
![Page 14: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/14.jpg)
Einbinden von DD
DynamicData kann auf unabhängigen ASPX Seiten verwendet werdenSehen wie normale PageTemplates ausErstellen Sie DataSource, Parameter, DetailView, GridView und ListView ... und fertig!
![Page 15: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/15.jpg)
Weitergehende Anpassungen
Fast ohne Grenzen. DD passt sehr gut in's allgemeine ASP.NET ModellSie kennen bereits: FieldTemplates, PageTemplatesFehlendes Puzzleteil: Welche Felder werden angezeigt? In welcher Reihenfolge?IAutoFieldGenerator: Definiert die anzuzeigenden Felder
![Page 16: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/16.jpg)
Zukunft
Preview zum Download verfügbar (ASP.NET Dynamic Data 4.0 Preview 2)Verschiedene Datenbankzugriffsschichten
ASP.NET Data Services & eigene Datenlayer
Query BlöckeFiltern der Daten mit LINQ Ausdrücken
Zusätzliche FieldTemplates (Enum, Email, Url)
![Page 17: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/17.jpg)
Your MSDN resourcescheck out these websites, blogs & more!
PresentationsTechDays: www.techdays.chMSDN Events: http://www.microsoft.com/switzerland/msdn/de/presentationfinder.mspxMSDN Webcasts: http://www.microsoft.com/switzerland/msdn/de/finder/default.mspx
MSDN EventsMSDN Events: http://www.microsoft.com/switzerland/msdn/de/events/default.mspxSave the date: Tech•Ed 2009 Europe, 9-13 November 2009, Berlin
MSDN Flash (our by weekly newsletter)Subscribe: http://www.microsoft.com/switzerland/msdn/de/flash.mspx
MSDN Team BlogRSS: http://blogs.msdn.com/swiss_dpe_team/Default.aspx
Developer User Groups & CommunitiesMobile Devices: http://www.pocketpc.ch/Microsoft Solutions User Group Switzerland: www.msugs.ch.NET Managed User Group of Switzerland: www.dotmugs.chFoxPro User Group Switzerland: www.fugs.ch
![Page 18: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/18.jpg)
Your TechNet resourcescheck out these websites, blogs & more!
PresentationsTechDays: www.techdays.ch
TechNet EventsTechNet Events: http://technet.microsoft.com/de-ch/bb291010.aspx Save the date: Tech•Ed 2009 Europe, 9-13 November 2009, Berlin
TechNet Flash (our by weekly newsletter)Subscribe: http://technet.microsoft.com/de-ch/bb898852.aspx
Schweizer IT Professional und TechNet BlogRSS: http://blogs.technet.com/chitpro-de/
IT Professional User Groups & CommunitiesSwissITPro User Group: www.swissitpro.ch NT Anwendergruppe Schweiz: www.nt-ag.ch PASS (Professional Association for SQL Server): www.sqlpass.ch
![Page 19: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/19.jpg)
Save the date for tech·days next year!
7. – 8. April 2010Congress Center Basel
![Page 20: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/20.jpg)
Classic Sponsoring Partners
Media Partner
Premium Sponsoring Partners
![Page 21: RAD Web Applications with ASP.NET Dynamic Data](https://reader035.fdocuments.us/reader035/viewer/2022062408/568133cc550346895d9ac54c/html5/thumbnails/21.jpg)