Posts
337
Comments
125
Trackbacks
5
March 2006 Entries
zweiter Gehversuche mit ATLAS

Bei Einbinden von ATLAS in ein aktuelles Projekt bin ich auf folgenden Fehler gestossen
(Assertion Failed: elements in children collection should always have nodeType = 1):

Die Lösung: Die zu rendernden Bereiche müssen sauber in DIV's abgebildet sein (anstatt in Tabellen.)

posted @ Friday, March 31, 2006 11:05 AM | Feedback (0)
Erstes Buch zu Atlas

Inzwischen ist bei O’Reilly’s das erste Buch zu ATLAS erschienen: http://www.oreilly.com/catalog/atlas/

posted @ Wednesday, March 29, 2006 1:02 PM | Feedback (1)
RSS-Toolkit für ASP.NET (Update)

Es gibt ein Update von Dimitryr's RSS-Toolkit:
http://blogs.msdn.com/dmitryr/archive/2006/03/26/561200.aspx

Eine Beschreibung wie man dieses Toolkit verwenden kann findet man:
http://weblogs.asp.net/scottgu/archive/2006/02/22/438738.aspx

posted @ Wednesday, March 29, 2006 9:27 AM | Feedback (0)
Erste Gehversuche mit ATLAS

Meine ersten Gehversuche mit ATLAS (AJAX-Framework für ASP.NET 2.0) waren erfolgreich. Die Grundfunktionen sind einfach zu nutzen:

Im Header muss diese Zeile stehen:

<atlas:ScriptManager ID="scriptmanager1" EnablePartialRendering="true" runat="Server" />

EnablePartialRendering muss auf "True" gesetzt sein, damit nur Teile der Seite neu gerendert werden.

Der Teil der ASP.NET Seite der neu gerendert werden soll - während der Rest stehen bleibt - muss im folgenden Tag stehen sein:

<atlas:UpdatePanel ID="panel1" mode="Conditional" runat="server">
   <ContentTemplate>
   ...
   ...
   </ContentTemplate>
</atlas:UpdatePanel>

In dem UpdatePanel-Tag kann z.B. ein ganzes asp:GridView stehen. In diesem Falle würde sich bei jeder Aktion das GridView betreffend, z.B. Edit, Sortieren oder Paging, nur der Inhalt des GridView ändern - der Rest bleibt stehen -> AJAX.

Interssant ist auch das Tag "UpdateProgress", damit kann man sich oder dem Benutzer während dem Roundtrip zum Server einen Hinweistext oder eine Grafik ausgeben lassen:

<div style="position:absolute;z-index:50;left:450px;top:12px;">

    <atlas:UpdateProgress ID="progres1" runat="server">
    <ProgressTemplate>
    
        Updating ...
    
    </ProgressTemplate>
    </atlas:UpdateProgress>

</div>

posted @ Tuesday, March 28, 2006 10:46 PM | Feedback (0)
Neues Webcast zum Thema ATLAS

Es gibt es neues Wabcast von Jonathan Hawkins, einem der ASP.NET Atlas Architekten, zum Thema ATLAS. Dieses stellt kurz ALAX dar und  gibt eine Übersicht über die technischen Möglichkeiten von ATLAS:
mms://wm.microsoft.com/ms/uifx/ATLAS_Technology%20Preview_2-27-06.wmv

posted @ Tuesday, March 28, 2006 8:09 AM | Feedback (0)
zum Schmunzeln

Eine Mail die ich heute erhielt:

Sehr geehrte Damen und Herren,

nachdem Sie am 06.03.2006 meine Bewerbung gelesen haben, möchte ich gerne wissen wann ich mit einer Antwort von Ihnen und evtl. Einladung zum Gespräch rechnen kann ?

Mit freundlichen grüßen

posted @ Sunday, March 26, 2006 9:11 PM | Feedback (2)
Seitenzahl bei einer Navigation übergeben

Für ein ASP.NET-Projekt musste ich die Seitennavigation eines Suchergebnisses selbst programmieren. Dabei hatte ich das Problem, die Nummer der angeklickten Seite zu übergeben (Globale Variablen speichern ihren Wert nicht von einer Server-Rundreise zur nächsten).

Mit dem onClick-Event des Link-Button musste ich also folgende Funktion aufrufen, damit die Seitennummer in den Viestate (=Hidden-Field welches codiert die Zustände aller Steuerelemente eines Webforms beinhaltet) geschrieben wird:

<script runat="server">

Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)

End Sub

private property aktuelle_Seite() as integer
   Get
      If IsNothing(ViewState.Item("aktuelle_Seite")) Then
         Return 1
      End If
      Return ViewState.Item("aktuelle_Seite")

   End Get
   Set(ByVal Value As Integer)
      ViewState.Item("aktuelle_Seite") = Value
   End Set
end property

Protected Sub Link_Click(ByVal sender As Object, ByVal e As System.EventArgs)
   Dim linkSeite As LinkButton = DirectCast(sender, LinkButton)

   if linkSeite.CommandArgument.Length = 0 then
      aktuelle_Seite = 0
   else
      aktuelle_Seite = Convert.ToInt16(linkSeite.CommandArgument)
   End If
End Sub

</script>

Mit Link_Click() wird die Nummer der angeklickten Seite eingelesen und der Eigenschaft aktuelle_Seite() zugewiesen, dabei wird der Wert in den Viewstate geschrieben. Nach der Rundreise zum Server kann ich nun die aktuelle Seite aus der Eigenschaft aktuelle_Seite() auslesen.

posted @ Sunday, March 26, 2006 11:45 AM | Feedback (0)
Microsoft Online-Referenz zu ASP.NET

Zur Erinnerung:
Eine Beschreibung / Referenz zu ASP.NET frindet man bei Micosoft unter:
http://msdn2.microsoft.com/de-de/library/9k6k3k4a(VS.80).aspx

posted @ Friday, March 24, 2006 9:09 PM | Feedback (0)
AJAX-Framework installieren

Möchte man mit dem AJAX-Framework ATLAS arbeiten muss man die Assemblies in das Bin-Verzeichnis der neuen Webanwendung kopieren und die Datei Web.config (Bereich) um folgende Zeilen erweitern;

<pages>
<controls>
<add namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>
<add namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>
</controls>
</pages>

posted @ Friday, March 24, 2006 8:55 PM | Feedback (0)
Informationsquelle für ATLAS

Die beste Informationsquelle für ATLAS ubd ASP.NET ist http://atlas.asp.net/Default.aspx?tabid=47.

Dort gibt es Quickstarts, Anleitungen, Foren etc.

posted @ Thursday, March 23, 2006 9:18 AM | Feedback (0)
AJAX für ASP.NET 2.0

AJAX (Asynchronous Javascript and XML) steht für ein Konzept, um Daten zwischen einem Server und dem Browser auszutauschen, ohne dass die Seite komplett neu geladen werden muss. Durch AJAX sind Web-Anwendungen möglich, die Desktop-Anwendungen ähneln.

Für ASP.NET wurde nun mit ATLAS eine verbesserte Erweiterung vorgestellt die ein AJAX-Framework für ASP.NET zur Verfügung stellt: http://atlas.asp.net/Default.aspx?tabid=47.

Dort können auch die Dokumentation, Beispielanwendungen sowie die Assemblies heruntergeladen werden.

posted @ Wednesday, March 22, 2006 2:08 PM | Feedback (1)
.NET AWARD

Anlässlich der Entwickler-Konferenz Basta! (13. – 17.2.; Frankfurt/M.) hat der Software & Support Verlag einen Wettbewerb rund ums Thema .NET gestartet. Die Teilnahme am .NET AWARD @ BASTA! steht allen Interessierten offen.

Preisgeld werden insgesamt 20.000 Euro ausgelobt.

Preisträger des .NET AWARD @ BASTA! können Unternehmen, Einzelpersonen oder Universitäten sowie jede andere Organisation aus Deutschland, Österreich oder der Schweiz sein, die sich um Innovationen für die .NET-Welt verdient gemacht hat.

Mehr dazu findet man hier: http://www.basta-award.de/basta_award/index.xhtml

posted @ Tuesday, March 21, 2006 2:02 PM | Feedback (0)
Hover-Style im Menue-Objekt

Die Eigenschaft Hover-Style im Menue-Objekt lässt sich nur dann verwenden, wenn man als Datenquelle eine Web.Sitemap-Datei verwendet.

Liegt als Datenquelle eine XML-Datei vor oder trägt man die Menü-Items in das Menü-Objekt ein, dann funktioniert die Eigenschaft Hover-Style nicht :-(.

posted @ Tuesday, March 14, 2006 9:18 PM | Feedback (0)
Datumsformat

Fürs Archiv: Datumsabfrage im SQL-Server:

feld_datum < CONVERT(varchar(8), GETDATE(), 112)

posted @ Tuesday, March 14, 2006 12:07 AM | Feedback (0)
neue Eigenschaft beim Validations-Control

Es gibt eine neue Eigenschaft beim Validation-Cntrol: ValidationGroup

Damit lassen sich einzelne Formularfelder zu Gruppen zusammenfassen. diese wiederrum lassen sich getrennt von einander abfragen:

http://aspnet.4guysfromrolla.com/articles/112305-1.aspx

posted @ Saturday, March 11, 2006 8:25 PM | Feedback (0)
Javascript-Fehler

Es kann der folgende Fehler auftreten:

Der Debugger weist an diese Stelle ( theForm.submit() ):

<script type="text/javascript">
<!--
var theForm = document.forms['aspnetForm'];
   if (!theForm) {
      theForm = document.aspnetForm;
   }
   function __doPostBack(eventTarget, eventArgument) {
   if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
   theForm.__EVENTTARGET.value = eventTarget;
   theForm.__EVENTARGUMENT.value = eventArgument;
   theForm.submit();
   }
}
// -->
</script>

Dieser Fehler tritt auf wenn man in der Sub Page_Load die Daten aus der Datenbank einliest.

Verlegt man den Datenbankzugriff in eine Funktion die später aufgerufen wird, tritt der Fehler nicht mehr auf.

posted @ Tuesday, March 07, 2006 6:38 PM | Feedback (0)
Logischen Wert eines Tabellenfeldes ausgeben

Im Control GridView wird bei der Datenausgabe der Wert eines logischen feles einer Tabelle automatisch als Checkbox dargestellt.

Arbeitet man nun jedoch mit dem Repeater oder DataList Objekt muss man den Wert der logischen Variablen mit eval() ausgeben, True oder false sind aber nicht immer aussagefähg. Dashalb habe ich diese kleine Funktion geschieben, die einen Tabellenwert nur dann ausgibt, wenn deiser auf True gesetzt ist:

Function ShowStatus(ByVal wert As Integer, ByVal bezeichnung As String)
   If wert = 0 Then
      ShowStatus = bezeichnung
   Else
      ShowStatus = ""
   End If
End Function

Der Aufruf erfolgt mit:

<%#ShowStatus(Eval("tabellenfeld"),"Bezeichnung")%>

Wenn das Tabellenfeld auf true gesetzt ist, dann wird die Bezeichnung ausgegeben ansonsten nicht.

posted @ Saturday, March 04, 2006 12:43 PM | Feedback (1)
Fehlermeldung bei GridView

Folgende Fehlermeldung kann man beim editieren eines Eintrags eines GridViews erhalten:

"Das Aktualisieren wird von der Datenquelle "XXX" nicht unterstützt, sofern nicht UpdateCommand angegeben wurde."

Dies liegt daran, dass man die Option "AutoGenerateEditButton="true" im Quellcode im asp:gridvies-Tag hinzugefügt hat, ohne in den erweiterten SQL-Generierungsoptionen "INSERT, UPDATE- und DELETE-Anweisungen generieren" markiert zu haben:

posted @ Friday, March 03, 2006 10:50 PM | Feedback (0)
Crashkurs für ADO.NET 2.0

Einen Crashkurs für ADO.NET 2.0 von Microsoft kann man hier als PDF-Datei downloaden:
http://download.microsoft.com/download/9/2/3/923d72fb-0076-49b6-96c4-aac1c255a60e/NET_Crashkurs_ADO.pdf

posted @ Thursday, March 02, 2006 10:16 PM | Feedback (0)
Farbcode bei CSS verkürzen

In Stylesheets kann man den Farbcode auf verkürzt eingeben. Man kann anstatt "color:#FF6600" auch "color=#F60" schreiben. Dies geht immer dann, wenn alle drei RGB-Werte aus doppelten gleichen Zeichen bestehen.

Ob das sinnvoll ist weiss ich nicht, es ist jedoch gut zu wissen.

posted @ Wednesday, March 01, 2006 1:01 PM | Feedback (1)
Syntax für die Datenbindung vereinfacht

Im Vergleich zu Version ASP.1.0 und ASP.NET 1.1 wurde die Syntax für die Datenbindung vereinfacht.

Früher mussste man die Eval-Methode der DataBinder-Klasse angeben und das DataItem vom Container sowie das Feld für die Bindung identifizieren:

<%#DataBinder.Eval(Container.DataItem, "titel")%>

in ASP.NET 2.0 muss man nur noch die Eval-Methode und den Namen des Felds für die Bindung angeben:

<%#Eval("titel")%>

posted @ Wednesday, March 01, 2006 12:01 PM | Feedback (1)
Installation von ASP.NET 2.0

habe nun .Net Framework 2.0 installiert und wollte eine ASP.NET 2.0 Applikation testen und erhielt prompt die folgende Fehlereldung:

Parser Error Message: Unrecognized attribute 'xmlns'.

Source Error:


Line 1: <?xml version="1.0"?>
Line 2: <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
Line 3: <configSections>
Line 4: <sectionGroup name="microsoft.web" type="Microsoft.Web.Configuration.MicrosoftWebSectionGroup">


Source File: D:\DATEN\ASPNet2\atlas\web.config Line: 2


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573


Die Fehlermeldung "Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573" brachte mich auf die richtige Spur. Ich hatte vergessen im IIS die Version 2.0 von ASP.NET für dieses Web freizugeben, deshalb konnte es nicht funktionieren:

posted @ Wednesday, March 01, 2006 9:48 AM | Feedback (0)