ASP.NET Deutsch Blogs

Browse by Tags

All Tags » Tipps und Tricks (RSS)
LINQ to XML: Queries auf XML mit Namespaces
Beim Zugriff auf XML mit bestimmten XML-Namespaces kommt es beim herkömmlichen Queries zu einem Fehler. Wie auch beim XMLDoxument muss beim den Abfragen auf bestimmte Knoten ein Namespace angegeben werden. Ausgangspunkt bei mir ist eine Abfrage per WebDAV auf einen Exchange Server, bei der ich ungefähr folgende Antwort erhalte: <? xml version ="1.0" ?> < a:multistatus xmlns:b ="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" xmlns:d ="urn:schemas:httpmail:" xmlns:c ="xml:" xmlns:a ="DAV:" > < a:response > < a:href > http://mdomain/exchange/Account/ </ a:href > < a:propstat > < a:status > HTTP/1.1 200 OK </ a:status > < a:prop > </ a:prop...
Die Clean Code Developer Initiative
Stefan Lieser und Ralf Westphal haben vor einiger Zeit die Clean Code Developer Initiative gestartet, die “Prinzipien, Regeln und Praktiken für bessere Software” aufstellt und vermittelt. Das ziel der Beiden ist es die Softwarequalität zu steigern und die Professionalität von Softwareentwicklern zu fördern. Die Regeln und Praktiken basieren auf dem Buch Clean Code von Robert C. Martin . Clean Code nach Robert C. Martin kann jeder machen. Es erfordert allerdings ein radikales Umdenken, was aber aufgrund der provokanten Art von “Uncle Bob” relativ einfach fällt. Uncle Bob stößt einen praktisch mit der Nase in den eigenen Mist. Beim Lesen des Buches (liest sich übrigens fast wie ein Roman und sorgt - auf englisch gelesen – für einige Lacher) gibt...
Ressourcen aus externen Libraries im Markup ausgeben
Bei großen Projekten kann es unter Umständen Sinn machen, alle String-Ressourcen in eine separate Library auszulagern. Das Problem ist dann nur, dass diese Ressourcen nicht mehr so einfach über die ASP.NET Markup angesprochen werden können. Die Lösung gibt es mit einem eigenen ExpressionBuilder , mit dem es möglich ist einen eigenen ASP.NET Ausdruck zu schreiben um auf die externen Ressourcen zu zu greifen. <%$ ExternalResources: General, LoginPageTitle %> Um den Ausdruck von eventuellen internen Ressourcen auseinander zu halten habe ich den ExpressionPrefix “ExternalResources” genannt. Die Struktur des xpressionBuilder sieht bei mir wie folgt aus: [ExpressionPrefix( "ExternalResources" )] public class ExternalResourcesExpressionBuilder...
Web Slices für den IE8 ganz einfach selber machen
Am Wochenende hatte ich tatsächlich etwas Zeit, um mir mal die Web Slices für den IE8 genauer anzuschauen. Interessant ist, wie einfach es ist ein Web Slice zu erstellen. Allerdings gibt es eine Stolperfalle über die man nicht unbedingt stolpern muss. Ein Web Slice wird als HTML im HTML der Website definiert und erstellt. Definiert wird ein Web Slice über speziell vorgegebene CSS-Klassen. Diese Klassen können zur Formatierung genutzt werden, müssen aber nicht. Ich habe es einfach gemacht und gleich diese Klassen für die Formatierung genutzt. Definiert wird ein Slice mit einem <div> mit der Klasse “hslice” und einer eindeutigen ID (die ID hält mehrere Slices auseinander) < div class ="hslice" id ="baseslice" >...
10 Wege einen guten Software-Entwickler zu vertreiben
(via: ZCOPE | Blog ) Christian Gaisberger hat auf seinem Blog zehn Tipps bereitgestellt, wie man mit absoluter Sicherheit einen guten Software-Entwickler vertreiben kann. Dem einen oder anderen Entwickler werden die aus dem Leben gegriffenen Beispiele sicher auch bekannt vorkommen: Zum Beitrag: Zehn Wege einen guten Software Entwickler zu vertreiben Read More...
TFS: automatische Shelve Sets
Wer von verschiedenen Standorten auf seinen Code zugreifen möchte kennt das sicher, dass man mal vergessen hat, seinen aktuellen Stand als Shelves Set im TFS zu hinterlegen (“ein zu shelven”) und so von dem anderen Standort nicht ohne weiteres an seinen Code kommt. Ich vergesse zum Beispiel regelmäßig Abends meinen Code “ein zu shelven”. Hilfreich ist hier das Tool “TFS AutoShelve” von John W. Powell , das auf Codeplex zu finden ist: http://www.codeplex.com/TFSAutoShelve Der Code dazu wird hier von John beschrieben: TFS AutoShelve: a utility to automatically shelve check outs to the TFS server Bei dem Tool handelt es sich um eine kleine Konsolenanwendung die per .config-Datei eingestellt wird. Für die Fehlerbenachrichtigung: SmtpHostName: mail...
LINQ to XML - Einen XML Knoten aus einem vorhandenem XML Dokument löschen
Der im vorigen Artikel hinzugefügte knoten soll auch wieder entfernt werden können. Folgende paar Zeilen erledigen diese Aufgabe. XDocument xdoc = XDocument.Load( this .XmlFilePath); var xlayouts = from c in xdoc.Elements( "layouts" ).Elements( "layout" ) where c.Attribute( "folder" ).Value == FolderName select c; foreach (var xlayout in xlayouts.ToList()) xlayout.Remove(); xdoc.Save( this .XmlFilePath); Der LINQ Query selektiert alle <layout>-Knoten innerhalb des <layouts>-Knotens, bei denen der Wert des Attributes "folder" dem der übergebenen Variable "FolderName" entspricht. Anschließend gehe ich in der Schleife alle XElement Objekte durch und entferne sie. In der Schleife muss...
LINQ to XML - XML Daten erzeugen und in ein vorhandenes XML Dokument einfügen
Ziel ist es einen vorgegebenen XML Knoten in ein vorhandenes XML Dokument einzufügen. Das XML soll folgendermaßen aussehen: < layout folder ="MyFolder" startPage ="Home" name ="HomePage" > < displaynames > < displayname language ="de-DE" value ="Startseite" /> < displayname language ="en-US" value ="Home page" /> < displayname language ="fr-FR" value ="page d'accueil" /> </ displaynames > </ layout > Nach einem kurzen Blick in die MSDN war das Prinzip um so ein XML zu erstellen relativ klar. Anhand eines selbstdefinierten Layout-Objektes ("NewLayout"), kann ich das XML wie folgt zusammenbauen. XElement...
Mehrspaltiges Layout mit DIVs und CSS
Immer wieder wird die Frage gestellt, wie man ein mehrspaltiges Layout standardkonform mit CSS für moderne Browser erstellen kann. Ja, es gibt schon diverse Beispiele im Netz, aber ich möchte hier mal eine Variante vorstellen, die ich selber des öfteren Nutze. Inspiriert wurde ich für diese Variante vom Dirk Jesses YAML Framework und seinem Buch " CSS Layouts - Praxislösungen mit YAML 3.0 ". Diese Varianten nutzt ein bestimmtes verhalten des CSS Floatings aus. < div id ="main" > </ div id ="col1" > </ div id ="col2" > </ div id ="col3" > </ div > Es soll zum Beispiel ein Layout Layout mit drei Spalten erzeugt werden. Zwei schmale Spalten rechts und links und eine...
Asynchronen AJAX PostBack erkennen
Um zu erkennen ob der aktuelle Request durch einen ASP.NET AJAX PostBack ausgelöst wurde, muss man nur den ScriptManager fragen: if (ScriptManager.GetCurrent(Page).IsInAsyncPostBack) { // Aufruf ist ein AsyncPostBack :-) } zudem kann man über den ScriptManager erfahren, welches Control den Asysnchronen PostBack ausgelößt hat: if (ScriptManager.GetCurrent(Page).AsyncPostBackSourceElementID == "ctl001$myButton" ) { // Aufruf wurde von "myButton" ausgelößt :-) } Die Abfrage der AsyncPostBackSourceElementID liefert die UniqueID ( mehr dazu ) des auslösenden Controls. Triggernde Controls werden ebenfalls zurückgegeben. Read More...
More Posts Next page »