ASP.NET MVC: Dynamic Types mit .NET 4.0

Von Andreas Aschauer Autor Feed 12. January 2010 08:00

Die generische Klasse ViewPage des ASP.NET MVC Frameworks kann, bei Verwendung mit dem .NET Framework 4.0, auch gut genutzt werden um mit dynamic Objekten zu arbeiten.

   1: public ActionResult Details()
   2: {
   3:     dynamic detailsObject = new ExpandoObject();
   4:     dynamic address = new ExpandoObject();
   5:  
   6:     address.Street = "Musterstrasse";
   7:     address.StreetNumber = "11";
   8:     address.PostCode = 1111;
   9:  
  10:     detailsObject.Name = "Andreas Aschauer";
  11:     detailsObject.Adress = address;
  12:  
  13:     return View(detailsObject);
  14: }

Einfach das dynamische Objekt zusammenbauen und die View von ViewPage<dynamic> ableiten, schon kann man mit den Eigenschaften arbeiten.

   1: <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
   2:  
   3: <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
   4:     Details
   5: </asp:Content>
   6:  
   7: <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
   8:     <h2>Details</h2>
   9:     
  10:     Name: <%= Model.Name %>
  11:     Adresse: <%= Model.Adress.Street %>
  12: </asp:Content>

Bei Verwendung der neuen Betaversion von Resharper 5.0bekommt man für die Properties der dynamischen Typen sogar IntelliSense Unterützung. Die ist zwar noch nicht ganz perfekt, aber schon mal ganz praktisch.

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

www.microsoft.com/austria | © 2009 Microsoft Corporation. Alle Rechte vorbehalten.
BlogEngine.NET 2.5.0.6 powered by atwork