Tags: , | Categories: VB.Net, Entity Framework, SQL Posted by Christoph on 5/28/2010 6:44 PM | Comments (0)
Man kann natürlich auch TSQL mit dem Entity Framework direkt benutzen. Das ganze funktioniert folgendermaßen: Dim Con As EntityClient.EntityConnection = Ctx.Connection Dim Conn = Con.StoreConnection Dim Stat = Conn.State If Not Stat = ConnectionState.Open Then Conn.Open() Using Cmd = Conn.CreateCommand Cmd.CommandText = Sql.ToString Cmd.ExecuteNonQuery() End Using If Not Stat = ConnectionState.Open Then Conn.Close()
Tags: , | Categories: HTML/CSS, Facebook Posted by Christoph on 5/27/2010 7:03 PM | Comments (0)
Beim Einbinden des Facebook Like Buttons stolpert der Facebook Parser unter Umständen und wirft dann einen Fehler mit “Die Seite unter … kann nicht aufgerufen werden” (alt: “Website Inaccessible”) Dies kann durch leere spans verursacht werden, also muss man den Seitenquelltext durch folgendes durchsuchen: <span class="abc"> </span> und dieses durch so Ähnliches ersetzen: <span class="abc"></span> Diesen Workaround haben wir hier gefunden: http://forum.developers.facebook.com/viewtopic.php?pid=220462#p220462 (Vielen Dank an Jeroen from Switzerland (Playak.com)
Tags: | Categories: ASP.Net, VB.Net Posted by Christoph on 5/17/2010 3:12 PM | Comments (0)
Wenn Sonderzeichen, die z.B. aus einem Silverlight-Control kommen, noch numerische HTML Entities haben, also sowas wie “&#252;”, kann man das mit folgender Funktion in echte ANSI Zeichen konvertieren: Public Shared Function CleanNumericEntities(ByVal InText As String) As String Return Regex.Replace(InText, "&#\d{3};", New MatchEvaluator(AddressOf ReplaceNumericHTML)) End Function Private Shared Function ReplaceNumericHTML(ByVal Ma As Match) As String Dim Val = Ma.Value.Substring(2, 3) If IsNumeric(Val) Then Return Chr(Val) Return "?" End Function
Posted by Christoph on 4/8/2010 2:58 PM | Comments (0)
Mit folgender Methode kann mal alle Kinder unterhalb einer Controls finden, die einen bestimmten Typen haben: Public Shared Function GetChildsRecursive(ByVal Root As DependencyObject) As IEnumerable(Of DependencyObject) Dim Found As New List(Of DependencyObject) Found.Add(Root) For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(Root) - 1 Found.AddRange(GetChildsRecursive(VisualTreeHelper.GetChild(Root, i))) Next Return Found End Function z.B. alle Textboxen: For Each Row In Manager.GetChildsRecursive(LayoutRoot).OfType(Of TextBox)() AddHandler Row.ValueChanged, AddressOf ValueChangedBubbler Next Diesen Tipp habe ich bei Stackoverflow.com gefunden.
Categories: ASP.Net Posted by Christoph on 4/6/2010 10:39 AM | Comments (0)
Unter der Verwendung von CultureInfo kann man mit .Net ganz bequem Monats- oder Tagesnamen übersetzen: Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR"); foreach (String s in CultureInfo.CurrentUICulture.DateTimeFormat.MonthNames) Console.WriteLine(s); Ich habe diesen Code hier gefunden
Tags: | Categories: Silverlight Posted by Christoph on 3/3/2010 11:51 AM | Comments (0)
Ich habe in einem Projekt das Problem, dass Elemente per Drag and Drop von einer Liste in eine andere Liste verschoben werden sollen, ich aber in der Zielliste nicht alle Quellelemente erlaiben will. Das könnte im XAML also so aussehen: <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:msWindows="clr-namespace:Microsoft.Windows;assembly=System.Windows.Controls.Toolkit" xmlns:controlsToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit" x:Class="DragAndDrop.MainPage" mc:Ignorable="d" d:DesignWidth="467" d:DesignHeight="225" Background="#FFDEDEDE" BorderBrush="#FFEA4747" BorderThickness="1" FontSize="18" > <Grid x:Name="LayoutRoot" Background="White"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"... [More]
Tags: | Categories: Silverlight Posted by Christoph on 1/18/2010 1:56 PM | Comments (0)
Ich hatte das Problem, dass ein Control (welches natürlich wieder in anderen Controls liegt) und das per Code erzeugt wird, eine nicht statische Methode an der Page aufrufen soll. Daher brauche ich natürlich irgendwie die aktuelle Instanz der Page. Das geht in dem Control so: DirectCast(App.Current.RootVisual, Page).MethodToCall()
Tags: | Categories: Silverlight, VB.Net Posted by Christoph on 1/15/2010 11:58 AM | Comments (0)
in einem Silverlight Projekt hatten wir die Notwendigkeit, eine Textbox zu benutzen, die nur die Eingabe einer Fliesskommazahl (in dem Fall eines Währungwertes) zu erlauben. Da wir nicht dringend eine externe Komponente einsetzen wolllten habe ich das Problem mit folgendem Code gelösst: Dabei wird im New-Event des Controls ein KeyDown-Event an die Textbox gebunden, der bei jesem Tastendruck überprüft, ob es ein für eine Fliesskommazahl gültiges Zeichen ist. Leider ist das “,” nicht in der Key Enumeration, und muss händisch über den KeyCode abgehandelt werden. Dabei ist zu beachten, dass das “,” in 3 Varianten abgefragt werden muss: normales “,”, Zehnertastatus und auf dem Mac gibts (wie sollte es anders sein) einen anderen Zahlencode für das “,”. und hier der Codesnippet: Public Sub New() InitializeComponent() AddHandler tbTbx.KeyDown, AddressOf OnlyNumbers End Sub Public Sub OnlyNumbers(ByVal sender As Object, ByVal e As KeyEventArgs) Select Case e.Key Case Key.Tab Return ... [More]
Tags: , | Categories: HTML/CSS, Javascript, JQuery Posted by Christoph on 1/15/2010 11:50 AM | Comments (0)
Auch Microsoft stellt nun eine Reihe von Javsscript-Dateien über Ihr CDN (Content Delivery Network) zur Verfügung. Damit lässt sich z.B. jQuery mit folgendem Link in einer HTML-Seite einbauen: <script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js" type="text/javascript"></script> Eine komplette LIste der verfügbaren Dateien findet man unter http://www.asp.net/ajaxlibrary/cdn.ashx
Categories: SQL Posted by Christoph on 11/3/2009 6:12 PM | Comments (0)
Ich einem aktuellen Projekt will ich gerade die Datenbank mal aufräumen, also alle relevanten Datensätze löschen. Das geht mit TRUNCATE ja ganz gut, solange kein Foreign Key auf die Tabelle Zeigt. Dann kann man die Tabelle nur mittels DELETE * FROM leeren. Dabei werden jedoch NICHT die Anfangswerte der AutoInc Felder zurückgesetzt, so dass beim nächsten INSERT einfach vom alten Startwert hochgezählt wird. Man muss also händisch den Startwert zurücksetzen: Wenn also Table1 eine Tabelle ohne auf Sie verweisende FKs ist, und Tabelle2 durch FKs gesperrt wird, kann folgendes die beiden Tabellen zurücksetzen: truncate table Table1 delete from Table2 dbcc checkident(Table2,reseed,1) Der Schlüssel wird also mittels dbcc checkident zurückgesetzt