Rad web applications with asp net dynamic data
Download
1 / 21

RAD Web Applications with ASP.NET Dynamic Data - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

RAD Web Applications with ASP.NET Dynamic Data. Ingo Rammer ingo.rammer@thinktecture.com thinktecture. Ingo Rammer und thinktecture. Kleine Beratungsfirma für Softwareentwickler Unterstützung , Coaching und Beratung für Software- Architekten und - Entwickler Architektur- und Code-Reviews

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'RAD Web Applications with ASP.NET Dynamic Data' - fredericka-kelley


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Rad web applications with asp net dynamic data

RAD Web Applications withASP.NET Dynamic Data

Ingo Rammer

ingo.rammer@thinktecture.com

thinktecture


Ingo rammer und thinktecture
Ingo Rammer und thinktecture

  • KleineBeratungsfirmafürSoftwareentwickler

  • Unterstützung, Coaching und Beratungfür Software-Architekten und -Entwickler

    • Architektur- und Code-Reviews

    • Prototypentwicklung und Architekturberatung

    • Coaching und Mentoring

    • Anwendungsoptimierung und Troubleshooting

  • http://www.thinktecture.com

  • ingo.rammer@thinktecture.com


Asp net dynamic data
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 wichtiger

    • Dynamic Data Controls


Anpassbares scaffolding
Anpassbares Scaffolding

  • Scaffolding ("Gerüst") – Automatische Erzeugung von Forms

  • Anpassbares UI („No Limits“ – es ist nur .NET)

  • Konfigurierbares URL Routing (ähnlich ASP.NET MVC)


Erweiterbarkeit
Erweiterbarkeit

  • Erweiterungsmodell für logisches Schema (Entity Framework oder Linq-to-SQL)

    • Validierung

    • Business Rules

  • Sortierung, Filterung, Bearbeiten, Einfügen, Löschen

  • .NET Framework 3.5 SP1 (+ Hotfix)


Scaffolding ger stbau
Scaffolding - Gerüstbau

  • "Hello World" für Dynamic Data

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


Custom routing definition
Custom Routing Definition

  • Standardmässig: Routing per Querystring, kann aber geändert werden:

    • http://server/Customers

    • http://server/Customers/ALFKI

    • http://server/Customers/ALFKI/Edit

    • ... und viele andere Möglichkeiten

routes.Add(new DynamicDataRoute("Customers/{CustomerID}")

{

Model = model,

ViewName = "Details",

Table = "Customers",

Action = "Details"

});


Eingeschr nktes scaffolding
Eingeschränktes Scaffolding

  • Attribute auf Klassen- und Feld-Ebene

  • Feldebene unterstützt Metadaten-Redirection mit [MetadataType]

[ScaffoldTable(true)]

[MetadataType(typeof(ProductsMetaData))]

public partial class Products

{

}

public class ProductsMetaData

{

[ScaffoldColumn(true)]

public object Name;

}


Anpassung der vorlagen
Anpassung der Vorlagen

  • Templates

    • Templates für Seiten(„alle Auflistungsseiten“, „alle Detailseiten“)

    • Templates für Felder („alle Integer-TextBoxen“)

  • Spezielle/angepasste Seiten

    • Eine 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


Erstellen einer eigenen seite
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 = TypderEntität)

  • Kopierendergewünschten ASPX Seite von PageTemplatesnachCustomPages/EntityName

  • Fertig! (KeineweitereKonfigurationnotwendig)


Beispielseite
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>


Anpassen des modells
Anpassen des Modells

  • [UIHint]: Verwendeneinesbestimmten Controls füreinFeld

  • [DataType]: speziellerTyp (bzw. ein String als "Name" des Typs), derspätervomFieldTemplateverwendetwerdenkann („EmailAddress“, „Url“)

  • [Range], [Required]: Validierungen

  • [DisplayFormat]: SpeziellesAnzeigeformatfüreinFeld

  • [DisplayField]: Definition derSpalte, die fürFremdschlüsselangezeigtwerdensoll (z.B. das Feld „Name“ fürKunden)

  • [DisplayName]: AnzeigenamefüreineSpalte

  • Und mehr: Beliebigeweitereselbstdefinierte Attribute, die Siespäter in einemFieldTemplateprüfenmöchten


Angepasste felder
Angepasste Felder

  • Erstellen Sie ein ASCX in /FieldTemplates, abgeleitet von FieldTemplateUserControl und überschreiben Sie die Proprety DataControl

  • Weitere Möglichkeiten:

    • Überschreiben von FormatFieldValue, ExtractValues

    • Verwenden von MetaDataAttribute. TypeOf<T>() um Zugriff auf die Attribute zu erhalten, die im Modell für dieses Feld definiert sind


Einbinden von dd
Einbinden von DD

  • DynamicData kann auf unabhängigen ASPX Seiten verwendet werden

  • Sehen wie normale PageTemplates aus

  • Erstellen Sie DataSource, Parameter, DetailView, GridView und ListView ... und fertig!


Weitergehende anpassungen
Weitergehende Anpassungen

  • Fast ohne Grenzen. DD passt sehr gut in's allgemeine ASP.NET Modell

  • Sie kennen bereits: FieldTemplates, PageTemplates

  • Fehlendes Puzzleteil: Welche Felder werden angezeigt? In welcher Reihenfolge?

  • IAutoFieldGenerator: Definiert die anzuzeigenden Felder


Zukunft
Zukunft

  • Preview zum Download verfügbar (ASP.NET Dynamic Data 4.0 Preview 2)

  • Verschiedene Datenbankzugriffsschichten

    • ASP.NET Data Services & eigene Datenlayer

  • Query Blöcke

    • Filtern der Daten mit LINQ Ausdrücken

  • Zusätzliche FieldTemplates (Enum, Email, Url)


Y our msdn resources check out these websites blogs more
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


Y our technet resources check out these websites blogs more
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.chNT Anwendergruppe Schweiz: www.nt-ag.chPASS (Professional Association for SQL Server): www.sqlpass.ch


Save the date for tech days next year

Save the date for tech·days nextyear!

7. – 8. April 2010Congress Center Basel


Rad web applications with asp net dynamic data

Premium Sponsoring Partners

Classic Sponsoring Partners

Media Partner