Tags: , , , | Categories: ASP.Net, VB.Net Posted by Christoph on 10/1/2008 11:23 AM | Comments (0)
Der IIS 7 hat nun endlich ein schönes Rewrite Modul bekommen. Nun ergibt sich aber das Problem, das sowohl beim Postback, als auch, was natürlich damit zusammenhängt, im Updatepanel jedesmal die falsche Zielurl benutzt wird. Dies lässt sich so beheben: 1) eine neue form.browser im /App_Browsers anlegen, die so aussieht: <browsers> <browser refID="Default"> <controlAdapters> <adapter controlType="System.Web.UI.HtmlControls.HtmlForm" adapterType="FormRewriterControlAdapter" /> </controlAdapters> </browser> </browsers> 2) eine FormRewriterControlAdapter.vb im Projekt hat, die so aussieht: Imports Microsoft.VisualBasic Public Class FormRewriterControlAdapter Inherits System.Web.UI.Adapters.ControlAdapter Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) MyBase.Render(New RewriteFormHtmlTextWriter(writer)) End Sub End Class Public Class RewriteFormHtmlTextWriter Inherits HtmlTextWriter ... [More]
Categories: JQuery, ASP.Net, HTML/CSS, Javascript Posted by Christoph on 9/22/2008 12:44 PM | Comments (0)
man kann per jQuery auch DOM Elemente mit bestimmten Attributen selektieren, was u.A. beim asp:DataPager sehr hilfreich ist: jQuery("a[disabled=disabled]").addClass("dis"); Damit werden alle Objekte selektiert, die disabled=disabled als attribut haben, also z.B: <a href="index.aspx" disabled="disabled">zurück zur Seite</a>
Categories: ASP.Net Posted by Christoph on 9/19/2008 1:28 PM | Comments (0)
Wenn man versucht ein asp:FileUpload in inerhalb eines Updatepanels zu benutzen, bekommt man für das FileUpload-Control immer ein HasFile = false. Also Lösung muss man händisch den Click Event des “Upload” Buttons bei dem Updatepanel als Trigger definieren: <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <Triggers> <asp:PostBackTrigger ControlID="lbDigitalVoucherUpload" /> </Triggers> <ContentTemplate> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:LinkButton ID="LinkButton1" runat="server" Text=" upload " /> <asp:Label ID="Label1" runat="server" /> </ContentTemplate> </asp:UpdatePanel>
Categories: VB.Net Posted by Christoph on 9/16/2008 2:42 PM | Comments (0)
Auch mit VB.Net kann man Generische Kollektionen "on the fly", also direkt bei der Deklaration befüllen und auch direkt in ein Dictionary umwandeln: '--"Normal" strong Typed List Dim Ps As New List(Of Product) '--Add Product :-o Ps.Add(New Product With {.ID = "123", .Headline = "Test"}) '--Convert to Dictionary (see KeySelector!) Dim Dict = Ps.ToDictionary(Function(c) c.ID) gefunden hier: http://blogs.msdn.com/timng/archive/2007/12/12/using-the-todictionary-extension-method.aspx
Tags: , , | Categories: Administration, Vista Posted by Christoph on 8/12/2008 10:53 AM | Comments (0)
Ich benutze Windows Live Oncare ausschliesslich als Virenscanner (da NOD32 mich leider aufgrund zu vieler false positives und zu hoher CPU Last im Stich gelassen hat), und muss sagen, dass Microsoft da ein ganz gutes Stückchen Software gebaut hat. Leider hat gibt es ein Problem mit Oncare: Wer einen alternativen Defrag benutzen möchte hat leider das Problem, dass OnCare alle paar Wochen eine Wratung durchführen möchte, in der auch ein Defrag ausgeführt wird. Man kann aber in der Registry den Pfag zum Standart Defrag Tool ändern, und dann läuft die Wartung auch ohne Defrag fehlerfrei: HKCR\CLSID\{80EE4901-33A8-11d1-A213-0080C88593A5}\LocalServer32] @="DfrgNtfs_exe.sav" Ich habe diesen Hinweis hier gefunden
Categories: ASP.Net, VB.Net Posted by Christoph on 7/23/2008 2:49 PM | Comments (0)
Wenn man eine List(of Irgendwas) manuell sortieren möchte, kann man ganz einfach eine neue Klasse bauen, die den passenden Comparer enthält: Public Class EventComparer    Implements IComparer(Of Content)    Public Function Compare(ByVal x As Content, ByVal y As Content) As Integer Implements System.Collections.Generic.IComparer(Of Content).Compare       Return x.ContentDate > y.ContentDate    End Function End Class und dann folgendermassen die Liste sortieren: MyList.Sort(New EventComparer)
Categories: ASP.Net, VB.Net Posted by Christoph on 7/23/2008 2:48 PM | Comments (0)
Wenn ein Datum als String gegeben ist, und man ein Date Objekt erzeugen will, kann man auch die Formatierung explizit angeben: dim MyDate as Date = Date.ParseExact(InText, "dd.MM.yyyy", Nothing)
Categories: Administration, ASP.Net, Windows 2008 Posted by Christoph on 7/16/2008 2:31 PM | Comments (0)
Der neue IIS 7 von Windows 2008 kann ganz einfach Seiten (aspx, cs, js, ...) komprimieren: Im Internetinformationsdienst-Manager (Super Name ...) auf der entsprechenden Site bei "Komprimierung" für beide Typen (statisch und dynamisch) die Komprimierung aktivieren. Allerdings ist diese Komprimierung erst aktiv, wenn die Applikation in der web.config den Debug-Mode deaktiviert hat, also: <compilation debug="false " ... />  
Categories: Administration, ASP.Net Posted by Christoph on 6/13/2008 12:26 PM | Comments (0)
Wenn eine Applikation unter dem IIS7 im Classic Mode läuft, und man die Begrenzung der Datei Uploadgrösse setzen will, funktioniert das am einfachsten, indem man in einer Shell (per “Als Administrator ausführen” gestartet” folgendes ausführt: appcmd set config "My Site/MyApp" -section:requestFiltering -requestLimits.maxAllowedContentLength:104857600 -commitpath:apphost Dabei “My Site/MyApp durch die jeweiligen Namen ersetzen. Mehr zum Thema Large File Upload gibts hier: http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx
Tags: | Categories: ASP.Net Posted by Christoph on 5/20/2008 12:49 PM | Comments (0)
Wem die Hashingfunktionen die als Standard im .Net eingebaut sind: FormsAuthentication.HashPasswordForStoringInConfigFile(PWDandSalt, "SHA1") nicht ausreichen kann seinen Hash auch mit SHA256 erstellen: Private Shared DES As New TripleDESCryptoServiceProvider Private Shared RNG As New RNGCryptoServiceProvider Public Shared Function GenerateHash(ByVal Password As String, ByVal Salt As String) As String '--Salt+Pwd Dim PWDandSalt As String = String.Concat(Salt, Password) '--Create Byte() from Salt+Pwd Dim Enc As New System.Text.ASCIIEncoding '--Create SHA256 Dim SHA As New SHA256Managed Dim Hash = SHA.ComputeHash(Enc.GetBytes(PWDandSalt)) '--Return String Dim HashString = Enc.GetString(Hash) Return TextTools.Base64Encode(HashString) End Function