ASP.NET MVC

There are 13 entries for the tag ASP.NET MVC
  • Unterlagen zu meinem ASP.NET MVC 3 Vortrag auf der VSone 2011

    Ich hatte die Ehre auf der http://vsone.de einen Vortrag zu ASP.NET MVC 3 erweiterte Techniken zu halten. Hier ist sind die Folien und der Beispielcode zum Download. ASP.NET MVC 3 erweiterte Techniken Technorati Tags: VSone,ASP.NET MVC

  • Vereinfachte Lokalisierung eines ViewModels in ASP.NET MVC

    Ich arbeite gerade an einer Anwendung die ich auch mehrsprachig anbieten möchte. Dabei sind mir ein paar Sachen aufgefallen die unhandlich sind. Hier dazu meine Lösungen Display-Name von Properties in ViewModels In ASP.NET MVC 3 kann ich mit der leichten Syntax [Display(ResourceType=typeof(SpeakertNetStrings), Name="Speaker_Session")] public string Fullname { get; set; } [Display(ResourceType=typeof(SpeakertNetStrings), Name="Speaker_Session")] public int SessionCount { get; set; } die passenden Resource-Strings angeben, dieser wird dann mit dem Label- bzw. LabelFor-HtmlHelper dargestellt. Da dies jedoch ein .NET 4 Attribute ist, funktioniert es unter .NET 3.5 nicht. Auch ist es...

  • StructureMap und MVC 3: Intialisierung und Verwendung

    Ich verwende als IoC-Container sehr gerne StructureMap, dies hauptsächlich weil man dort sehr einfach einen Großteil der Registrierung der Componenten über Konventionen erledigen kann. In ASP.NET MVC 3 RC gibt es nun eine einige Änderungen gegenüber AS.NET MVC 2. Nun veröffentliche ich deshalb hier meinen Standard-Initialisierungscode für StructureMap und MVC 3. Darauf aufbauen müssen natürlich die Besonderheiten der Anwendung berücksichtigt werden. Aber es ist ein guter Startpunkt. Die Standard-Konventionen Hiermit werden die möglichen Komponenten in MVC 3 registriert: Somit müssen ModelBinder und Validatoren etc. nicht mehr manuell den einzelnen Aufzählungen hinzugefügt werden. Es reicht...

  • ASP.NET MVC Action und die Database Connection, nun richtig

    Bei ASP.NET MVC ist es Best Practice wenn man für den Datenbank Zugriff eine Transaction beim Start der Action öffnet und zum Ende wieder schließt. Ich habe die eine oder andere “Lösung” dazu gesehen, die sich jedoch meist in den Request-LifeCycle der Application einklinken und somit “irgendwie” außerhalb der MVC Konzeptes sind und somit auch beim Zugriff auf andere Seiten oder gar statischen Resourcen auch Connection/Transactionen öffnen. Auch ich nutzte dies … aber nun nicht mehr. Die beste Lösung (jedenfalls aus meiner Sicht) ist ein eigener IActionInvoker der diese Aufgabe übernimm,. damit ist auch exakt den Gültigkeitsbereich der...

  • Globale Namespaces für die Razor-Syntax und den ASP.NET WebPages

    Wenn man bei WebForms nicht auf jeder Page oder jedem UserControl die notwendigen Namespace importieren möchte. So hat man diese in der Web.config hinterlegt. Dies funktioniert wunderbar bei WebForms und der WebForm-ViewEngine unter ASP.NET MVC. Mit den neuen WebPages (.cshtml) und der Razor-Syntax kann man mit @using Regularly.Models @using Regulary.Areas.Administration.Models auch entsprechende Namespaces der Template bekannt machen, Jedoch funktioniert der Weg über die web.config nicht (ob sich dies ändert steht wohl nicht nicht fest). Aber man einen anderen Weg gehen, dazu muss man beim Application-Start über die Klasse CodeGeneratorSettings die Namespaces hinzufügen. CodeGeneratorSettings.AddGlobalImport("Regularly.Models"); CodeGeneratorSettings.AddGlobalImport("Regularly.Extensions"); Diese Klasse befindet sich im Namespace Microsoft.WebPages.Compilation Technorati Tags: ASP.NET...

  • Meine Vorträge

    Vorträge vor Ort? Also Sprecher der INETA-Germany spreche ich gerne auf User Groups Meetings, fragt einfach kurz an. Brauchen Sie Vorträge in Ihrer Firma? Fragen Sie an ob ich da etwas für Sie tun kann. Die Vorträge können Ihren Anforderungen angepasst werden. Aktuelle Vortragsthemen Inside ASP.NET MVC Was passiert eigentlich bei ASP.NET MVC? Ok, man gibt eine URL ein, diese wird auf eine Action geroutet und Result zurückgegeben welches im Browser angezeigt wird. Doch was passiert da im Detail?  Dieser Vortrag zeigt die internen Abläufe von ASP.NET MVC, so dass...

  • Neues Projekt: FluentMetadata

    Ich bastel da einem neuen Projekt rum. Dabei ist mehr oder weniger FluentMetadata “abgefallen”, bzw. es noch in der Entwicklung. Jedoch ist es zumindest mit ASP.NET MVC 2 schon funktionsfähig und es wird Zeit damit mal an die Öffentlichkeit zu gehen. FluentMetadata ist eine Möglichkeit Metadaten für Klassen zu definieren diese dann im weitere Programmablauf zu verwenden. Diese kann dann genutzt werden um andere Frameworks mit Informationen zu versorgen. Seit es nun für die Validierung oder Typ-Informationen. Ganz nach dem DRY Prinzip sollen diese nur an einer Stelle definiert müssen. Warum? Ich habe das...

  • Zwei Vorträge am 16.-17. Juni auf der APPs-Konferenz in Burghausen

    Ein weiterer Zwischenstopp meiner kleinen Vortrags-Sommerreise ist am 16. und 17. Juni in Burghausen. die APPs-Konferenz in Burghausen ist eine kleine und feine Konferenz mit wenigen aber guten Vorträgen, toller Stimmung und schönem Wissen-Transfer unter den Teilnehmern. http://www.apps-konferenz.de/ Meine Themen sind Mobile Web-Anwendungen für iPhone & Co mit ASP.NET MVC 2 Sketching von User Interfaces mit Balsamiq Mockup Also, meldet euch. Es gibt gute Vorträge, tolle Leute sowie schöne Giveaways.   Technorati-Tags: ASP.NET MVC,Mockup,Sketching,Konferenz,Burghausen,.NET

  • Am 10. Juni spreche ich bei der User Group Frankfurt

    Es ist mal wieder soweit, ich bin wieder Unterwegs und verlasse Köln um mal wieder woanders Vorträge zu halten. Die erste Station ist am 10. Juni bei der .net Usergroup Frankfurt. Meine Thema ist mal wieder ASP.NET MVC (kann wohl nichts anderes ;-), diesmal in der Version 2. Jedoch werden diesmal die Grundlagen nur einen kleinen Teil des Vortrags/Live Codings ausmachen. Den Abstrakt und die erforderliche Anmeldung (da es in einem Microsoft Gebäude stattfinden) findet Ihr http://www.dotnet-ug-frankfurt.de/Event/tabid/119/ID/39/Default.aspx Ich freue mich euch dort zu sehen und danach ins Brauhaus zum Fachsimpeln zu gehen. Also seht dies...

  • Zwei Properties beim ViewModel auf Gleichheit prüfen mit ASP.NET MVC 2

    Es gibt Anlässe bei denen man beim Input ViewModel prüfen muss ob zwei Properties den gleichen Inhalt haben. Ein typischer Fall ist die Kennwort-Eingabe in einem Webformular. ASP.NET MVC 2 bietet da nichts out of the Box, aber über die DataAnnotations-Validierung kann man sich einfach eigenen Attribute bauen die dies machen können. Vor einiger Zeit stellte Thomas Bandt eine Lösung vor, diese war mit bei den Property-Namen ein wenig zu tolerant (die Groß- und Kleinschreibung war egal) und es wurde ein eventuell angegebener Display Name nicht in die Fehlermeldung übernommen. Diese Lösung habe ich verbessert und stelle...

  • Urls zu ASP.NET MVC Controller-Actions außerhalb eines Views erstellen

    Innerhalb eines ASPX-Views ist das erstellen eines Links bzw. einer Url einfach. Es gibt ja HtmlHelper.ActionLink() und MvcViewPage.Url um diese zu erzeugen. Nun gibt es Situation wo man keinen direkten Zugriff darauf hat an jedoch die Url zu bestimmten Action inklusive der richtigen Parameter braucht. So ist es in einer meiner Anwendungen notwendig E-Mails mit Links auf die Anwendung zu haben (Neues Kennwort zuteilen, Benutzer aktiveren etc.) Dies wird weder beim Controller noch im View veranlasst (und wenn man es doch macht sollte man dringend darüber nachdenken warum man dies macht und es seinlassen). Natürlich möchte man...

  • Prüfen ob alle Post-Controller-Actions dass ValidateAntiForgeryTokenAttribute haben

    Ein möglicher Angriff auf Web-Anwendungen ist Cross-Site Request Forgery (CSRF). Mit dem ASP.NET MVC Framework gibt es eine Möglichkeit solche Angriffe zu verhindern. Siehe dazu auch diesen Blog-Eintrag: Prevent Cross-Site Request Forgery (CSRF) using ASP.NET MVC’s AntiForgeryToken() helper. Jedoch passiert es mir des Öfteren dass ich vergesse daran zu denken die Actions entsprechend zu attributieren. Deshalb habe ich mir einen Unit-Test geschrieben der alle Controller-Action die auf POST reagieren überprüft ob sie dass ValidateAntiForgeryTokenAttribute haben. Damit er nicht bei mir versauert, hier der Test zur allgemeinen Verwendung. using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Web.Mvc; using DerAlbert.Community.Web.Controllers; using MbUnit.Framework; namespace...

  • ASP.NET MVC: MasterPage zur Laufzeit ändern

    Hier und da ist es notwendig dass man die MasterPage zur Laufzeit ändern möchte. Bei ASP.NET MVC kann man dies auf mittels eines eigenen ActionFilterAttribute machen. public class MasterPageSwitchAttribute : ActionFilterAttribute { public override void OnActionExecuted(ActionExecutedContext filterContext) { var viewResult = filterContext.Result as ViewResult; if (viewResult != null) { viewResult.MasterName = "NeueMasterPage"; } ...