Rad web applications with asp net dynamic data
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

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


  • 49 Views
  • Uploaded on
  • Presentation posted in: General

RAD Web Applications with ASP.NET Dynamic Data. Ingo Rammer [email protected] 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

Download Presentation

RAD Web Applications with ASP.NET Dynamic Data

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

[email protected]

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

  • [email protected]


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


  • Login