Tags: | Categories: ASP.Net, AJAX, IIS, JQuery, Javascript Posted by Christoph on 10.12.2010 12:16 | Kommentare (0)
Wir haben in einigen Projekten die jQuery Datei(en) vom Microsoft CDN (ajax.microsoft.com) ausliefern lassen. Das hatte anfänglich ein großes Problem, da die Server die Dateien nicht über SSL ausliefern konnten, dies ist jedoch behoben, so dass wir folgenden Code benutzt haben: <script src="<%=IIf(Request.IsSecureConnection, "https", "http")%>://ajax.microsoft.com/ajax/jquery/jquery-X.X.X.min.js" type="text/javascript"></script> Nun musste ich aber heute feststellen, dass die Domain nicht mehr erreichbar ist. Die Files liegen jetzt ausschließlich unter ajax.aspnetcdn.com: <script src="<%=IIf(Request.IsSecureConnection, "https", "http")%>://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js" type="text/javascript"></script> Der Umzug hat meiner Erachtens nur den Grund, dass die neuen Server die Files ausliefern, ohne Cookies zu setzet, und somit etwas schneller sind. Ob man nun das Problem, wie wir es hatten, dass die URL komplett weg ist, in Kauf nehmen möchte ist jedem selbst überlassen. Wir werden jedoch erstmal die Files lieber wieder auf unseren Servern hosten.
Tags: | Categories: AJAX, ASP.Net, Javascript Posted by Christoph on 09.05.2008 18:33 | Kommentare (0)
Wer ein UpdatePanel in einem Master/Detail Scenario benutzt, also auf einer Listingseite ein Updatepanel um ein z.B. Gridview legt, dass dann auf eine Detailseite verlinkt, wird wahrscheinlich das Problem bekommen, dass dann auf der Detailseite bei einem Click auf den Broeser Back Button das Updatepanel nicht mehr funktioniert. Das liegt daran, dass der Firefox etwas anders mit dem Caching umgeht, und die Javascript-Methoden, die das Updatepanel anstossen, nicht mehr startet. Man kann das ganze "reparieren", indem man den Seiten einen Response.Cache.SetNoStore()gibt, und den Firefox damit zwingt, die seite "komplett neu" zu laden.
Tags: | Categories: AJAX, ASP.Net, Javascript, JQuery Posted by Christoph on 04.03.2008 15:04 | Kommentare (0)
Mit folgendem Snippet werden innerhalb eines Update Panels alle Submitbuttons nach einem Click per JQuery deaktiviert, sobald ein Submitbutton gedrückt wurde: function BeginRequest(sender, args) { var panelID = sender._postBackSettings.panelID.split("|")[0]; $('#' + panelID + ' input[@type=submit]').attr('disabled', true); } function EndRequest(sender, args) { var panelID = sender._postBackSettings.panelID.split("|")[0]; $('#' + panelID + ' input[@type=submit]').attr('disabled', false) } http://encosia.com/2008/03/04/why-my-aspnet-ajax-forms-are-never-submitted-twice/
Tags: , | Categories: AJAX, ASP.Net Posted by Christoph on 21.02.2008 15:17 | Kommentare (0)
Wenn man ein ASP.Net Updatepanel dazu bewegen will, nach einem Refresh auch noch ein eigenes Javascript aufzurufen, so muss man (ausserhalb des <UpdatePanel>) folgenden Codeblock einfügen: <script type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); function EndRequestHandler(sender, args){ Sys.Debug.trace("updated"); } //]]> </script> Wenn sich mehrere Updatepanels auf der Seite gefinden, muss as entsprechende mit einem endRequest versehen werden.
Tags: | Categories: AJAX, ASP.Net, HTML/CSS Posted by Christoph on 20.02.2008 20:09 | Kommentare (1)
Der .Net Framework 3.5 bringt als ein neues Control das ListView mit. Damit kann man nun endlich XHTML Konform mit Daten umgehen, ohne sich um so lästige Sachen wie Paging oder Sorting kümmern zu müssen. http://basgun.wordpress.com/2007/12/27/listview-control-in-aspnet-35-1/ ist eine sehr gute Dokumentation, die schrittweise ein ListView aufbaut. Wenn man dann noch eine ObjectDatasource als Datenquelle benutzt, und diese mit einer Datatable füttert ist das ganze auch mit minimalem Code machbar. Zusätzlich kann man das ganze in ein UpdatePanel packen und hat eine Ajax-Version. Wenn man dann noch darauf achtet, anstatt der LinkButtons normale Buttons zu benutzen, funktioniert das ganze auch, wenn der Browser das Javascript deaktiviert hat. und nun: use the ListView !
Tags: , , , | Categories: AJAX, ASP.Net, Javascript Posted by Christoph on 16.01.2008 17:32 | Kommentare (0)
Wenn ASP.Net Ajax benutzt wird, kann mit Sys.Debug.trace(text) kann im Javascript beliebige Objekte ausgeben lassen . (ACHTUNG: Gross/Kleinschreibung beachten). Diese landen entweder in einer Textbox mit id=TraceConsole oder im Firebug / Web Development Helper Zusätzlich muss in der Web.Config <compilation debug="true"> angegeben sein, und der Scriptmanager muss ScriptMode="Inherit" haben. Dann funktionieren folgende Aufrufe im Javascript: Sys.Debug.trace(text); Sys.Debug.traceDump(object, name); Weitere Informationen gibt's auch hier: http://weblogs.asp.net/romannikitin/archive/2007/11/22/sys-debug-in-asp-net-ajax-framework.aspx
Tags: , , | Categories: AJAX, ASP.Net Posted by Christoph on 15.01.2008 10:01 | Kommentare (0)
Für den täglichen Programmieralltag habe ich ein paar praktische Spickzettel zusammengetragen: Reguläre Ausdrücke (RegExp): http://www.ilovejackdaniels.com/... Microsoft AJAX Library: http://aspnetresources.com/... ASP.Net 2.0 Page Lifecycle (Was passierte eigentlich wann): http://john-sheehan.com/... .Net String.Format: http://john-sheehan.com/... Viel Spass damit !