Learning

Textmode Multiline und Maxlength per Javascript festlegen:

Wenn man eine ASP.NET Textbox im Textmode="Multiline" erstellt, funktioniert dummerweise Maxlength nicht, da die HTML-Textarea das nicht unterstützt. Hier ist die passende Javascript-Function und der VB-Code dazu.  Um das Feature später einfac h ändern zu können, suche ich erst alle Textboxen innerhalb eines Panels und aktiviere entsprechende onChange und onKeyDown Events.       1     Sub setMaxlength()     2         For Each ctl As Control In Panel1.Controls     3             If ctl.GetType Is GetType(TextBox) Then     4                 Dim myTextbox As TextBox = ctl     5                 If myTextbox.TextMode = TextBoxMode.MultiLine _     6                     AndAlso myTextbox.MaxLength > 0 Then     7      8                     myTextbox.Attributes.Add("onChange", _     9                    ...

posted @ Wednesday, April 29, 2009 2:13 PM | Feedback (0)

Screencast zu Debugging Symbols in Visual Studio 2008

Das der Sourcecode des .NET Frameworks inzwischen für das debuggen in Visual Studio zur Verfügung steht hat sich inzwischen herumgesprochen. Daniel Moth hat nun auf Channel9 einen Screencast veröffentlicht, der die Installation und die mögliche Nutzung des Features in 15:00 Minuten zeigt.

posted @ Friday, January 18, 2008 9:28 AM | Feedback (0)

Extension Methods in .NET 3.5

Eine der Neuerungen in .NET 3.5 sind die Extension Methods. Mit Hilfer der Extension Methods lassen sich alle nicht static Classes um eigene Methoden erweitern. Ob die Basisklassen im Projekt oder als Referenz eingebunden sind ist egal. Hier ein Beispiel: FileInfo soll um eine Methode erweitert werden, die in der Console FileInfo.Exists ausgibt und eine Benutzerreaktion abwartet. Hierfür fügen wir dem Projekt eine statische Methode mit entsprechedem Syntax hinzu:     public static class myExtensionMethods     {         public static string ExistsMessage(this FileInfo f )         {             Console.WriteLine("FileInfo.Exists={0}", f.Exists);             Console.ReadLine();             return f.Exists.ToString();         }     } Dannach ist jedes Object vom Typ Fileinfo um diese statische Methode erweitert(und zwar inklusive Intellisense)  Siehe auch: New...

posted @ Thursday, January 17, 2008 11:30 AM | Feedback (0)

Klammern in C# mit deutscher Tastatur

nach dem ich in letzter Zeit fast nur noch in c# entwickle, stört es mich auch mehr und mehr das die ständig benötigten Klammern auf der deutschen Tastatur relativ kompliziert zu erreichen sind. Die Lösung ist, sich ein neues Macro-Project anzulegen und in den Options von Visual Studio die entsprechenden Methoden mit einem Keycode zu versehen. (Die Methoden der Macros erscheinen dort unter Macros.ModulProjectName.ModulName.MethodName) Bei mir ist ab sofort:    Ctrl + ö            => {    Ctrl + ä            => }    Ctrl + Shift + ö  =>[    Ctrl + Shift + ä  =>] und hier der Code für das Macro Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports System.Diagnostics Public Module Module1          Sub...

posted @ Wednesday, January 16, 2008 3:41 PM | Feedback (0)

SQLDatasource und Anzahl der SQL-Server abfragen

Thomas Beckert hatte heute auf glengamoi.com das Problem, dass er bereits im Page_Load(ASP.NET) ein DataBind eines Repeaters durchführen musste. Die Frage kam auf, ob dies dazu führt, dass die SQL-Abfrage evtl. mehrmals zum MSSQL geschickt wird. Das wollte ich nun genau wissen. In den Leistungstools des SQL-Servers gibt es den SQL Server Profiler mit dessen Hilfe man alle Aktivitäten und Abfragen auf dem SQLServer überwachen kann. Die Antwort ist: Beim einem Standard Aufruf macht dies keinen Unterschied. D.h. auch wenn im Page_Load ein Gridview1.DataBind() aufgerufen wird, wird nur eine Abfrage zum SQL-Server gesendet. Die Abfrage wird unmittelbar vor dem...

posted @ Monday, January 14, 2008 7:32 PM | Feedback (0)

KeyCode des Tages

Jeder kennt es: Beim Coden fehlt ein Namespace. Visual Studio versucht den passenden Namespace zu finden und stellt am Ende des Wortes ein kleines braunes Rechteck dar. Wenn man da mit der Mouse draufklickt, werden die vermuteten Namespaces angezeigt und können ausgewählt werden: Der Keycode dafür ist  Strg + . (Punkt) oder Shift + Alt + F10 und kann in den Options von Visual Studio unter View.ShowSmartTag angepasst werden.        

posted @ Thursday, January 10, 2008 5:50 PM | Feedback (2)

How to use Google to find files

jimmyrcom zeigt in einem Video wie man Google nutzen kann um MP3-Files zu finden. Der Trick ist ganz einfach: Auflistungen von Verzeichnisen enthalten im Title normalerweise den Begriff "index of". Mit dem Keyword "intitle" kann man die Suche auf den Titel begrenzen. intitle:index of   findet also alle Auflistungen von Verzeichnisen. Weiter gehts mit der Beschränkung auf einen bestimmten Filetype (mp3|mp4|avi) bestimmte endungen ausschließen: -html -htm -php -asp -cf -jsp und dann noch den Suchbegriff: Hänschen.Klein und so sieht das Ergebnis aus: intitle:"index.of" (mp3|mp4|avi) Hänschen.klein -html -htm -php -asp -cf -jsp  

posted @ Thursday, January 03, 2008 4:21 PM | Feedback (0)

Basics in ASP.NET

Bei glengamoi.com komen eigentlich immer wieder Fragen zu den Basics in ASP.NET. Da auch ich mal angefangen habe, will ich hier mal ein paar Links für Beginner zusammenfassen. Bestes Forum: glengamoi.com :-) Für Anfänger aber auch für Fortgeschrittene sind die Webcasts und HowTo-Videos von Microsoft sehr empfehlenswert und haben bei mir auch nach Jahren .NET-Programmierung noch das eine oder andere AHA hervorgelockt. ASP.NET / Learn (englisch) Webcasts von Microsoft in deutsch Webcasts und Events von Microsoft und Suche nach Webcasts Silverlight und WPF (sehr...

posted @ Tuesday, December 18, 2007 3:25 PM | Feedback (2)

kostenloser Download - Microsoft Visual Basic 2005 - Das Entwicklerbuch

Microsoft hat auch zwei Bücher zum kostenlosen download: Microsoft Visual Basic 2005 - Das Entwicklerbuch Wobei man sich den zweiten Teil auch herunterladen kann, wenn man in der Download-URL Teil_1 durch Teil_2 ersetzt :-)

posted @ Thursday, December 06, 2007 3:40 PM | Feedback (0)