Hallo Leute,
ich hatte aktuell wieder eine Aufgabe, und zwar aus unterschiedlichen Objekteigenschaften eine EMail-Adresse zu erzeugen. Dabei sollte das Erzeugungsmuster dynamisch definiert werden können.
Beispiel, wenn ich eine Klasse Person, mit der Eigenschaft Name, Surename und Age habe, sollte daraus ein Mailprefix erzeugt werden, nach dem Muster: {Surename:1}_{Name}_{Age}.
Wenn eine Instanz von Person nun folgende Werte hat:
Name: Mustermann
Surename: Max
Age: 30
sollte folgendes erzeugt werden: M_Mustermann_30.
Wichtig ist dabei, dass das Format sich ändern kann, also zB soetwas:
{Age:1}_{Name}.{Surename:1} --> 3_Mustermann.M
Dazu habe ich folgenden Beitrag gefunden:
FormatsWith
Diesen Code habe ich etwas angepasst, da dieser die Max-Längenangaben nicht unterstützt.
Folgendes ist dabei herausgekommen:
Aufruf sieht dann einfach so aus:
Ich hoffe das kann euch etwas helfen.
mfg
Sebastian
dotNet Gedanken
In diesem Blog gehts um den täglichen Wahnsinn in der .net - Welt
Donnerstag, 7. März 2013
Dienstag, 26. Februar 2013
MVC Sessionstate und ModelBinding
Hallo Leute,
so nach längerer Zeit wieder mal ein Beitrag.
Wer Projekte mit dem MVC-Framework umsetzt, der wird nicht um den Sessionstate herum kommen. Dabei gibt es viele Möglichkeiten auf diesen zuzugreifen, zB normal über den Sessionstate in den Controllermethoden. Ich möchte euch zeigen, wie man einen eigenen ModelBinder verwenden kann, um den Sessionstate zu verwenden. Vorteil ist, dass man die Actionmethoden wie gewohnt benutzt, und die gewünschten Informationen als Parameter übergibt. Man muss also nicht immer selbst auf die Sessionvariable zugreifen.
Also als erstes erstellt man eben eine Klasse, die man in der Session speichern möchte:
Danach erstelle ich mir immer gern eine Hilfsmethode, um typsicher auf die Session zuzugreifen:
Der Zugriff würde nun so aussehen:
Da wir aber nicht in jeder ActionMethode diese Zeile schreiben möchten, und stattdessen das Parametersystem nutzen wollen, erstellen wir uns einen eigenen ModelBinder. Dazu implementieren wir das IModelBinder-Interface, aus dem Namespace System.Web.Mvc.
Wie ihr seht, nutzt dieser auch unsere Extensionmethode um die Daten aus der Session zu holen.
Als nächstes müssen wir diesen ModelBinder registrieren, damit die Runtime weiss, wann sie diesen verwenden muss.
So, nun können wir unsere ActionMethode refaktorisieren, damit die SessionData als Parameter übergeben wird:
Fertig :)
Der Vorteil ist nun, dass man jeder Methode, welche die SessionDatas benötigt einfach einen Parameter mitgeben muss, und der Rest wird durch die Laufzeit erledigt :)
Ich hoffe ich konnte euch wieder ein bisschen helfen, bis zum nächsten mal =)
mfg
Sebastian
so nach längerer Zeit wieder mal ein Beitrag.
Wer Projekte mit dem MVC-Framework umsetzt, der wird nicht um den Sessionstate herum kommen. Dabei gibt es viele Möglichkeiten auf diesen zuzugreifen, zB normal über den Sessionstate in den Controllermethoden. Ich möchte euch zeigen, wie man einen eigenen ModelBinder verwenden kann, um den Sessionstate zu verwenden. Vorteil ist, dass man die Actionmethoden wie gewohnt benutzt, und die gewünschten Informationen als Parameter übergibt. Man muss also nicht immer selbst auf die Sessionvariable zugreifen.
Also als erstes erstellt man eben eine Klasse, die man in der Session speichern möchte:
Danach erstelle ich mir immer gern eine Hilfsmethode, um typsicher auf die Session zuzugreifen:
Der Zugriff würde nun so aussehen:
Da wir aber nicht in jeder ActionMethode diese Zeile schreiben möchten, und stattdessen das Parametersystem nutzen wollen, erstellen wir uns einen eigenen ModelBinder. Dazu implementieren wir das IModelBinder-Interface, aus dem Namespace System.Web.Mvc.
Wie ihr seht, nutzt dieser auch unsere Extensionmethode um die Daten aus der Session zu holen.
Als nächstes müssen wir diesen ModelBinder registrieren, damit die Runtime weiss, wann sie diesen verwenden muss.
So, nun können wir unsere ActionMethode refaktorisieren, damit die SessionData als Parameter übergeben wird:
Fertig :)
Der Vorteil ist nun, dass man jeder Methode, welche die SessionDatas benötigt einfach einen Parameter mitgeben muss, und der Rest wird durch die Laufzeit erledigt :)
Ich hoffe ich konnte euch wieder ein bisschen helfen, bis zum nächsten mal =)
mfg
Sebastian
Mittwoch, 9. Januar 2013
Frohes neues Jahr
Wünsch ich euch. Viel Glück in 2013, und hoffentlich viele neue und interessante Artikel =)
mfg
Sebastian
mfg
Sebastian
Sonntag, 23. Dezember 2012
Frohes Fest und einen guten Rutsch ...
... wünsche ich Euch allen :) Auf ein gutes Jahr 2013.
mfg
Sebastian
mfg
Sebastian
Dienstag, 18. Dezember 2012
Sharepoint 2013: SupportedLocales
Hallo,
wer aktuell Sharepoint 2013 Apps entwickeln will, muss eine Änderung im Schema der App berücksichtigen:
http://blogs.msdn.com/b/officeapps/archive/2012/11/05/important-developer-changes-from-office-and-sharepoint-2013-preview-to-office-and-sharepoint-2013.aspx
Bei mir sah das dann so aus:
mfg
Sebastian
wer aktuell Sharepoint 2013 Apps entwickeln will, muss eine Änderung im Schema der App berücksichtigen:
http://blogs.msdn.com/b/officeapps/archive/2012/11/05/important-developer-changes-from-office-and-sharepoint-2013-preview-to-office-and-sharepoint-2013.aspx
Bei mir sah das dann so aus:
mfg
Sebastian
Freitag, 14. Dezember 2012
Sharepoint 2013 Apps: Navigationsbar
Hallo,
wer sich schon mal mit SharePoint 2013 und dem App-Model beschäftigt hat, wird wissen, wie eine typische VisualStudio 2012 - Vorlage deployed aussieht; man sieht eigentlich nix.
Man kann aber relativ einfach eine Navigation reinbringen, dazu muss man nur die default.aspx bearbeiten:
Hier sieht man, dass ich einfach 2 DIVS verwende, eines für die Navigation mit float:left, und ein weiteres für anderen Inhalt (hier ein XsltListViewWebPart).
Das Ergebnis sieht dann so aus:
Natrülich sollte man keine Inlinestyles verwenden, dass habe ich nur gemacht damit ihr einen besseren Überblick habt.
Das nächste mal wird es um echte Funktionalitäten in Apps gehen.
mfg
Sebastian
wer sich schon mal mit SharePoint 2013 und dem App-Model beschäftigt hat, wird wissen, wie eine typische VisualStudio 2012 - Vorlage deployed aussieht; man sieht eigentlich nix.
Man kann aber relativ einfach eine Navigation reinbringen, dazu muss man nur die default.aspx bearbeiten:
Hier sieht man, dass ich einfach 2 DIVS verwende, eines für die Navigation mit float:left, und ein weiteres für anderen Inhalt (hier ein XsltListViewWebPart).
Das Ergebnis sieht dann so aus:
Natrülich sollte man keine Inlinestyles verwenden, dass habe ich nur gemacht damit ihr einen besseren Überblick habt.
Das nächste mal wird es um echte Funktionalitäten in Apps gehen.
mfg
Sebastian
Dienstag, 11. Dezember 2012
InfoPath: Mit Objekten statt XML arbeiten
Hallo,
wer schon mal mit InfoPath gearbeitet hat weiss, dass man fast alles mit dem XPathNavigator machen muss. Eine andere Möglichkeit ist, für das XML des Formulars per XSD.exe oder Xsd2Code Code erzeugen, in diesen im Formular selbst verwenden. Ich werde dazu noch ein Beispiel erstellen....aber der Ansatz ist ja sicherlich erst mal klar. =)
mfg
Sebastian
wer schon mal mit InfoPath gearbeitet hat weiss, dass man fast alles mit dem XPathNavigator machen muss. Eine andere Möglichkeit ist, für das XML des Formulars per XSD.exe oder Xsd2Code Code erzeugen, in diesen im Formular selbst verwenden. Ich werde dazu noch ein Beispiel erstellen....aber der Ansatz ist ja sicherlich erst mal klar. =)
mfg
Sebastian
Abonnieren
Posts (Atom)










