Tags: | Categories: AJAX, ASP.Net, Javascript Posted by Christoph on 5/9/2008 7:33 PM | Comments (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 3/4/2008 4:04 PM | Comments (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 2/21/2008 4:17 PM | Comments (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 2/20/2008 9:09 PM | Comments (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 1/16/2008 6:32 PM | Comments (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 1/15/2008 11:01 AM | Comments (0)

Für den täglichen Programmieralltag habe ich ein paar praktische Spickzettel zusammengetragen:

Viel Spass damit !