Dienstag, September 09, 2008

ASP.NET MVC Preview 5 - Arrrggghhh

An diesem Wochenende war nun wirklich mal wieder beschäftigen mit ASP.NET MVC dran, das Preview 5 wollte ich natürlich nicht länger hinaus schieben, also wurde das installiert. Vorher habe ich die Release Notes studiert, ob es etwas gibt, dass bei mir Probleme machen könnte. Eigentlich sollte die Migration von Preview 4 nach Preview 5 ohne Komplikationen verlaufen, dachte ich. Übrigens eine nette Übersicht über die Änderungen gibt es unter http://www.coderjournal.com/2008/08/aspnet-mvc-preview-release-5/.

Ich habe den halben Tag damit zugebracht nur eine kleine Funktion in meiner Anwendung zu fixen, allerdings war das mehr Arbeit als ich dachte. Die "Html.RenderUserControl" wurde aus dem Html-Helper entfernt, allerdings ohne Kommentar und Ersetzungsempfehlung. Ein UserConrol kann über den klassischen Weg mit Register und anschließend hinzufügen auf der Seite einbinden. Was macht man allerdings mit den Daten und die Parameter, die alle übergeben wurden. Nunja, ein UserControl habe ich über den klassischen Weg abgebildet, doch die anderen .... Also der Klassiker googlen, ich bin mit Sicherheit nicht der einzige, der auf diese Problem gestoßen ist. Die beste Hilfe war das ASP.NET Forum, in dem wenigstens einer auch den Lösungsweg aufzeigte. Letztendlich muss man sein Control und den Aufruf umschreiben. Bei der Verwendung der RenderPartial-Methode können nicht die Parameter die Control-View als AnonymousType übergeben werden. Ich habe meine Lösung anschließend so angepasst, dass alle Parameter in den Model-Daten übergeben werden und mittels der Eval-Methode extrahiert werden. Der Aufwand war schon recht groß, nun bin ich erstmal froh, dass alles funktioniert.

Wichtig ist bei der Umstellung auf das Preview 5 die Versionsnummern in der web.config entsprechend den Release Notes anzupassen, da durch das Final-Release des SP1 einige Versionsnummern final sind und zu dem auch noch niedriger als in den Test-Builds.

Außerdem muss man bei den ErrorHandler-Attribute aufpassen. Man muss CustomErrors in der Konfiguration aktivieren, damit der ErrorHandler arbeitet, andernfalls werden die Fehlerdetails ausgegeben.

Technorati-Tags: ,,

Keine Kommentare: