Expression Web och ASP.NET AJAX

Expression Web är webbdesign-verktyget i Expression-sviten med vars hjälp du kan skapa helt CSS-baserade webbplatser med avancerad grafisk form som validerar fullt ut mot någon av de olika standard-DTD:er som finns för HTML.

Stödet för olika dokumenttyper är faktiskt mycket bra - eller som Ethan MarcotteA List Apart uttryckte det: "... Microsoft Expression Web almost stubbornly refuse to produce invalid markup" ... klart trevligt med utvecklingsverktyg när de är envisa åt det hållet :-)

Du väljer helt enkelt vilken DOCTYPE som du vill validera sidan mot och får sedan (förutom valideringsfel om du gör något galet) endast den Intellisense i sidan som gäller för det aktuella schemat (som alltså motsvarar en viss DTD). Väljer du t.ex. XMLHTML 1.1 så kommer inte Intellisense att servera <font> som förslag på valbart element, eftersom denna inte får förekomma i dokumentet enligt den standarden. Det här är något som helt klart får dig att göra färre misstag och därmed gör dig mer produktiv. Om du istället behöver kunna skapa sidor fria från valideringskrav enligt standard, t.ex. för att passa in i ett legacy-ramverk på ett intranät, eller en äldre Content Management-lösning, kan du istället välja att låta Expression Web validera mot ett s.k. "Secondary Schema" - som kan sättas att passa för äldre versioner av Internet Explorer istället för en viss DTD.

Expression Web har även mycket bra stöd för att hantera "uppstädning" av HTML-kod där style-taggar har deklarerats direkt i sidorna genom att drag'n'drop'a dem till en extern CSS. Sweet!

Men nu var det ju Expression Web och AJAX det skulle handla om (fast det är lätt att bli exalterad över alla features i det här verktyget känner jag ;-)
En vanlig fråga är hur man går tillväga för att kunna använda serverkontrollerna i ASP.NET AJAX med Expression Web - eftersom kontrollerna inte finns med bland "ASP.NET Controls" i Expression Web:s Toolbox efter man har installerat AJAX Extensions.

Faktum är att det inte finns något sätt i den befintliga versionen av Expression Web att lägga till andra serverkontroller så att de dyker upp i Toolbox:en - än de som följer med som standard.

Men det är enkelt åtgärdat att få tillgång till kontrollerna ändå:

Steg 1. Installera ASP.NET AJAX Extensions om du inte redan gjort det (System.Web.Extensions måste finnas registrerad i Global Assembly Cache för att det ska fungera).

Steg 2. Lägg till en web.config-fil för ditt projekt (om du inte redan har någon). För att förenkla livet för dig har jag skapat en web.config m.h.a. Visual Studio som du direkt kan importera - den kan du ladda ner här. Vill du hellre skapa en helt egen gör du det genom att välja "New Page" -> "ASP.NET" -> "Web Configuration". Lägg till de konfigurationselement som krävs för ASP.NET AJAX.

Steg 3. Nu bör du få tillgång till Intellisense även för ASP.NET AJAX-kontroller och kan deklarativt lägga till dem i kodläget i Expression Web:

Intellisense AJAX

 

 

 

 

 

 

 

 

 

 

Efter att du deklarerat dem så får du visuellt stöd för dem i design-läget och kommer även åt properties via "Tag Properties"-fliken:

Tag Properties

På samma sätt kan även andra ASP.NET-serverkontroller, dina egna eller tredje parts, registreras och användas i Expression Web - du kan läsa mer om det på Andrews Jewsbury's blog.

Vill du testa en trial-version av Expression Web finns den tillgänglig här: https://www.microsoft.com/products/expression/en/expression-web/free-trial.mspx.

ASP.NET AJAX laddar du ned här: https://ajax.asp.net/

ExpressionWeb_AJAX_web_config.zip