PerSalmi.NET

Swedish .Net software developer...
# Tuesday den 18 October 2016

För att skapa fler community aktiviteter i Linköping sponsrar Combitech ett par träffar inom nätverket Swenug.

image

Heldag med ”Modern” webbutveckling på Microsoft plattformen

Chris Klug
Lördag 19 november, 2016
10.00 – 16.00
Combitech
Universitetsvägen 14, Linköping (map)

Spendera en hel dag med Chris Klug och lär dig om modern webutveckling på Microsoft plattformen. Under dagen kommer du gå information om allt ifrån ASP.NET Core och front-end bygg pipelines, till Angular 1/2 till TypeScript, dvs allt man behöver veta för att kunna bygga webbar i en modern miljö.

Dagen är indelad i 4 delar som fokuserar på olika delar av webutveckling.

1. Introduktion till ASP.NET Core aka ”WTF hände på ASP.NET teamet”
2. TypeScript för C# utvecklare
3. Angular 1 - Best Practices / Tips from the trenches
4. Introduktion till Angular 2

Självklart finns det tid att ställa frågor också! Allt blir roligare om det är lite interaktivt!

Anmäl dig här på Meetup!

image

 

Holo World - Creating your first Holographic app

Jimmy Engström
Onsdag 30 november, 2016
18.00 – 21.00
Combitech
Universitetsvägen 14, Linköping, Linköping (map)

Ta din app in i den verkliga världen. För ett par år sedan så introducerade Microsoft HoloLens, ett sätt att mixa vår verklighet med den digitala. Under sessionen kommer vi snabbt titta på vad som krävs för att skriva 2D appar (Universal Windows Platform) till HoloLens och sedan dyka lite djupare i 3D appar (Hologram) med Unity. Vi kommer titta på möjligheter med HoloLens och hur den skiljer sig från konkurrenter och andra tekniker såsom Virtual Reality och Augmented Reality.

Klicka här för att anmäla dig på Meetup!

image

Tuesday, 18 October 2016 09:56:49 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
ASP.NET | HoloLens | Kompetensutveckling | Swenug | Webb
# Wednesday den 13 April 2011

Det finns hur mycket nytt som helst att labba med den närmaste tiden…

Silverlight 5 Beta släpptes idag, plocka ner verktyg och SDK här:

Silverlight 5 Tools Beta
Tillägg för Visual Studio 2010 Service Pack 1 för utveckling av Silverlight 5 Beta och Microsoft WCF RIA Services V1.0 SP2 Preview (April 2011) applikationer.

Microsoft® Silverlight™ 5 Software Development Kit Beta
Microsoft® Silverlight 5 SDK Beta filer och verktyg för utveckling.

Massor av andra nya nerladdningar finns också att hämta, mest nyheter om asynkron programmering men även en del ASP.NET relaterat och nytt training kit för Windows Azure.

Task-based Asynchronous Pattern
Djupgående dokumentation om nya Task-based Asynchronous Pattern (TAP) för .NET Framework.

TPL Dataflow CTP
Förhandsversion av System.Threading.Tasks.Dataflow.dll.

TPL Dataflow
Introduktion till .NET bibliotek för parallella applikationer.

Visual Studio Async CTP
Visual Studio Async CTP (SP1 Refresh) tillägg till Visual Studio 2010, ny förenklat stöd för utveckling av asynkrona applikationer.

C# Language Specification for Asynchronous Functions
Specifikationer för C# asynkrona funktioner.

ASP.NET Web Pages with Razor Syntax
ASP.NET Razor Syntax ramverk och en del av nya verktyget WebMatrix för utveckling av webbsajter.

Windows Azure Platform Training Kit
Windows Azure Platform Training Kit utbildningspaket för Windows Azure, SQL Azure och Windows Azure AppFabric.

Wednesday, 13 April 2011 22:37:16 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | ASP.NET | C# | Silverlight | Visual Studio
# Tuesday den 12 April 2011

Några grejer jag tänkte kolla på närmaste tiden kommer från MIX 2011 som just nu pågår i Las Vegas. Det hade säkert varit riktigt kul att vara på plats men i brist på egen närvaro får man kolla lite på det som släpps till alla.

ADO.NET Entity Framework 4.1
ADO.NET Entity Framework, ny release med funktioner som inte kom med i .NET 4 versionen.

ASP.NET MVC 3 Tools Update
ASP.NET MVC 3 Model-View-Controller (MVC) uppdatering av vertygsstödet.

Internet Explorer 10 Platform Preview 1
En riktigt tidig förhandsversion av IE10.

Förutom dessa paket för utvecklare så kan man ju förstås följa en hel del av vad som händer på konferensen på live.visitmix.com.

Tuesday, 12 April 2011 19:33:42 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | ASP.NET | Internet Explorer
# Wednesday den 29 April 2009

Felsökte en ASP.NET applikation som har sitt ursprung i version  1.1 av .NET Framework idag för att utreda varför en nybyggd funktion som bygger på ASP.NET Ajax med UpdatePanels inte fungerade.

Problemets symptom var att UpdatePanelen alltid gav en total omladdning av sidan, inga events lyckades få panelen att göra en partiell uppdatering. Ett inte helt ovanligt problem om man googlar lite på problem i samband med UpdatePanel.

Boven i dramat då? Jo, eftersom det handlar om ett webbprojekt som uppdaterats från äldre ASP.NET till 3.5 så har web.config fått en automatisk sättning av XHtml kompatibilitet som inte funkar bra ihop med ASP.NET Ajax.

Se till att du kontollerar att xhtmlConformance är satt till något annat än “Legacy”, använd tex “Transitional” eller “Strict”.

image

Wednesday, 29 April 2009 16:03:32 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | ASP.NET | Webb
# Tuesday den 28 October 2008
PhilHaackSitter på en demo/kodintensiv session med Phil Haack från Microsoft som går igenom ASP.NET MVC. MVC står i för Model-View-Controller och ger en liknande programmeringsmodell för ASP.NET webbapplikationer som man har i Ruby-on-Rails. För tillfället är det en betaversion som  finns att hämta på: ASP.NET MVC, målsättningen är att det ska vara klart för release inom tre månader. En bra artikel för att komma igång där Scott Guthrie samlat lite länkar till tutorials och annat finns på ASP.NET MVC Beta Released - ScottGu's Blog.

Ett problem med den typ av ramverk som RoR och även ASP.NET MVC utgör har plågats av rätt svaga egenskaper i fråga om skalning när lasten ökar. Jeff Atwood (bloggar på http://codinghorror.com) har byggt stackoverflow.com ihop med Joel Spolsky. Det är en communitysajt med forum och lite annat smått och gott. Stackoverflow är byggd med ASP.NET MVC och drivs med två servrar med 4 Gb minne / 8 CPUer var. Så ASP.NET MVC klarar hyffsad last eftersom man har ca 350.000 besök dagligen.

Lite fler länkar med ASP.NET MVC info:

http://haacked.com

Hanselman om ASP.NET MVC

Tuesday, 28 October 2008 01:53:11 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
ASP.NET | PDC 2008
# Monday den 6 October 2008

Så kunde tidningsrubriken ha sett ut om det hela hamnat i kvällspressen…

image

Hur går det då till när man blir svårt biten av AutoEventWireup? Jo, just nu jobbar jag med en kund där vi driver flera projekt för att lyfta applikationer till nyare run-time plattform. Just den applikation som vållade rejält huvudbry är en ASP.NET applikation som ska migreras från .Net 1.1 till modern 3.5 miljö. Allt väl så långt, Visual Studio 2008 och den inbyggda wizarden hade inga som helst problem att uppgradera projektet. Det var givetvis en del varningar om uppdaterade APIer för klientscriptblock mm, men det var inga problem att fixa.

Till en början såg det också ut som applikationen fungerade hyffsat, det visade sig dock att så inte riktigt var fallet. Något skumt inträffade när man ville gå vidare och detaljstudera information som laddats från en databas via COM-objekt som inte rörts i uppgraderingen, COM-delarna var C++ baserade och ingick i ett annat projekt. Ok, då är det väl något problem med COM-objekten när de anropas via COM Interop från .NET CLR under 2.0 tänker man och börjar debugga.

Debuggingen tog tid… Allt såg rätt ut på .NET sidan, anropen till COM-lagret gav förväntade resultat tillbaks till .NET applikationen i de första stegen, men i övergången mellan två aspx-sidor verkade något mycket skumt hända. Efter övergången var allt man fick tillbaks från COM anropen tomma strängar. Hade vi lyckats trigga något fel för att vi låg på gränsen till något som ändrats drastiskt mellan .NET 1.1 och 2.0? Nej, verkade inte så… Debugging ner i COM-lagret gav inte direkt några ledtrådar heller. Det hela började kännas mycket skumt. Varför funkade 1.1 versionen av applikationen så bra medan den konverterade 2.0 versionen visade tomma fält utan att generera några exceptions eller felmeddelanden? Allt funkade ju men ändå inte.

Till sist började jag om från början med debuggingen och satte brytpunkter i varenda metod i code-behind filerna för alla sidor som var inblandade i scenariot som uppvisade fenomenet med de tomma fälten. Pang! Där var problemet! För länge sedan hade någon implementerat en Page_Unload metod i code-behind filen och mappat upp eventet i InitializeComponent vilket var påbjudet i 1.1. Sedan hade den utrensning av dataobjekt som skedde i Page_Unload fått gå i pension när applikationen byggdes ut och mappningen av eventet till Page_Unload handlern hade tagits bort medan själva koden för Page_Unload fick ligga kvar, den kunde ju vara bra att ha nångång… I just det här fallet var den inte så bra att ha, vid konverteringen av projektet mellan 1.1 och 2.0 så ändrar nämligen Visual Studio standardbeteendet på inställningen av AutoEventWireup från false till true, det gör i sin tur att Page_Unload koden som legat och slumrat i godan ro nu vakande till och fick chansen att exekvera just vid växlingen mellan två sidor där jag satt och debuggade.

Det är ju klart att om man helt plötsligt kör lite kod som tömmer alla laddade dataobjekt och sen visar de tomma strukturerna i ett formulär så är det inte mycket mer än tomma fält att förvänta sig. Slutsatserna av det hela blir:

  • Använd ordentlig versionshantering
  • Ta bort kod som inte ska användas

Kom ihåg! Du kan plocka tillbaks gammal kod från versionshanteringen om du skulle behöva det, men spar den inte i det levande dokument som koden faktiskt är.

En liten reflektion om sökmotorer som kommer upp just vid denna debugsession är att det gäller att drabbas av ett fel vid rätt tidpunkt, eller man kanske ska uppgradera sina projekt vid rätt tidpunkt. För Google och de andra motorerna prioriterar givetvis träffar som är aktuella tidsmässigt, mitt problem visade sig finnas dokumenterat på en del sidor men de var inte direkt aktuella, det är ju något år sedan uppgradering mellan 1.1 och 2.0 var hett, så jag fick inte träff på de beskrivningar som låg nära mitt verkliga problem med den ändrade standardinställningen för AutoEventWireup förrän mycket långt ner i sökresultaten. Och det är väl knappt någon som tittar längre på sökresultatlistorna än 10-20 träffar neråt… grejer som får sämre ranking än så kan väl inte vara något att ha… :-)

Ett par länkar till info om AutoEventWireup i alla fall då, så det blir lite teknisk slutknorr på detta:

Monday, 06 October 2008 13:16:20 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | ASP.NET | Visual Studio
# Tuesday den 8 April 2008

Efter att jag gick över till Vista som plattform för min utvecklingsmaskin i september 2006 när det fortfarande var på release candidate stadiet och aldrig övervägt att byta ner mig till XP igen tog jag steget till 64-bitars Vista strax före jul 2007. De problem som fanns med 32-bits Vista som utvecklingsplattform hade gått relativt enkelt att övervinna efter att ett par service packar släppts för Visual Studio 2005 och SQL Server. Det material jag hittat om 64-bitars miljön pekade på att det borde fungera bra, det har det också gjort, över förväntan faktiskt.

Jag har haft problem vid två tillfällen. Dels med en drivrutin för en CAN-buss hårdvara som identifierades som en bugg som drabbade x64 kompilerade applikationer, i det fallet var det inte värre än att ställa om Visual Studio och kompilera för x86 plattform vilket var målmiljön i projektet. I det andra fallet som gällde att installera SQL Server Reporting Services var det inte fullt så enkelt att förstå vad som gick snett beroende på bristfälliga felmeddelanden, lösningen var dock ganska enkel när jag väl hade identifierat problemet.

image

Grunden till mitt Reporting Services problem var att 64-bitars SQL Server vill installera 64-bitars Reporting Services och det kräver i sin tur att man har 64-bitars ASP.NET run-time installerat i sin IIS.

När jag körde SQL Server installationen fick jag varningen "ASP.Net Version Registration Requirement (Warning) Messages ASP.Net Version Registration Requirement", vilket jag tolkade som att ASP.NET inte kunde hittas av installationen. Det var inte riktigt så enkelt. ASP.NET fanns installerat och aktiverat på fullt korrekt sätt i min IIS, men det var 32-bitars ASP.NET...

Hur installerar man då den 64-bitars ASP.NET som Reporting Services kräver?

  1. Starta en kommandoprompt med administratörsrättigheter (Start -> Accessories, högerklicka på Command Prompt och välj Run As Administrator)
  2. Stäng av 32-bits flaggan för ASP.NET med kommandot:
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0
  3. Installera scriptmappningar för 64-bitars ASP.NET genom att köra:
    %SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i

Efter dessa operationer kommer installationsprogrammet för SQL Server 2005 att hitta och acceptera att ASP.NET är korrekt installerat och därmed kommer man att kunna kryssa för Reporting Services i konfigurationen. Har man fått till detta med rätt ASP.NET version så fungerar instruktionerna i How to install SQL Server 2005 Reporting Services on a Windows Vista-based computer perfekt, glöm inte att aktivera HTTP Redirection för IIS, det har jag själv missat.

Info om att växla mellan 32- respektive 64-bitars ASP.NET finns i på Mera Gahrs blog, Running 64-bit version of ASP.NET 2.0 in 64 bit windows server.

Tuesday, 08 April 2008 22:47:52 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
ASP.NET | SQL Server | Windows Vista
# Wednesday den 5 March 2008

Dagens tips för att dryga ut arbetsdagen ett par timmar är att ni plockar fram all julbelysning och färgade lampor ni har. Häng upp det i hemmakontoret för att fixa Las Vegas känsla i rummet. Plocka fram nåt drickbart och lite tilltugg och styr över en väl vald favoritwebbläsare till MIX08 Keynote väljer passande stream- eller nerladdningslänk och spanar in lite snack och demos!

Wednesday, 05 March 2008 19:10:56 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.Net | ASP.NET | Internet Explorer
# Saturday den 9 February 2008

Utvecklingsteamet för Visual Studio har släppt en hotfix för Visual Studio 2008 (inklusive Express versionen av webbutvecklingsdelen). Det är främst korrigeringar av problem med redigeringsverktygen för HTML och en del prestanda problem som fixats.

Läs mer och ladda ner här - Downloadable Hotfix: Performance and Editor fixes for Microsoft Visual Studio 2008 and Visual Web Developer Express 2008

Det som är riktigt intressant är ScottGus kommentar till artikeln ovan, att teamet nu har som målsättning att släppa korrigeringar betydligt snabbare och oftare än de gjort för de tidigare versionerna av Visual Studio.

Saturday, 09 February 2008 16:46:09 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
ASP.NET | Visual Studio
# Friday den 27 July 2007

Det gick relativt snabbt att tanka ner VS 2008 och dess tillhörande MSDN Library igår, mycket snabbare än de tidigare CTP releaserna av Orcas. Jag antar att Microsoft lagt lite mer resurser på bra distribution av nya betaversionen än de gjort tidigare med tanke på att det troligen blir ganska hårt tryck på nerladdningen av denna release som sägs vara funktionsmässigt komplett.

Installationen på min Vista laptop (Dell Latitude D820) gick på ca 1,5 timme, jag körde med Virtual Clone Drive direkt från en ISO image på samma hårddisk så det kanske inte var optimalt ur prestandahänseende.

VS2008 Beta 2  install 1

Installationen gick igenom helt utan problem och några få minuters test visade att det går utmärkt att skapa och bygga både Winforms och ASP.NET applikationer. Det blir intressant att se hur väl den hanterar att bygga applikationer med olika målplattformar i fråga om .NET versioner. Jag ska ge den ett rejält test med en större webbapplikation för att se om det fungerar bra att bygga ASP.NET 2.0 applikationer som driftas på servrar utan .NET Framework 3.5.

Friday, 27 July 2007 17:32:48 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | ASP.NET | Visual Studio
# Wednesday den 16 May 2007

Avdelningen mystiska fel som uppträder i driftmiljö har fått ett nytt tillskott. Vid driftsättning av en kundapplikation upptäcktes det att användarna aldrig fick sina lösenord om de använde funktionen för att skicka ut nytt lösenord via e-post. Det visade sig att System.Net.Mail i ASP.NET 2.0 använder den lokala SMTP tjänsten på ett sådant sätt att SMTP servern tycker att det är frågan om försök att reläa post med falsk avsändare.

Felmeddelandet är "SmtpFailedRecipientException: Postlådan är inte tillgänglig. Serverns svar var: 5.7.1 Unable to relay for xxx@yyy.zz" detta på en maskin med svenskt språkpaket för ASP.NET.

Slår man om så att fullständiga felmeddelanden är synliga ser det ut ungefär så här:

IIS SMTP error screenshot

Problemet är relativt enkelt att avhjälpa, det handlar om att konfigurera SMTP tjänsten så att den tillåter relä-funktion för lokala maskinen, dvs IP-nummer 127.0.0.1. Enklaste sättet att fixa det i IIS-hanteraren är att:

  1. Öppna Internet Information Services Manager
  2. Gå ner i trädet för lokala datorn -> Default SMTP Virtual Server och höger-klicka på den noden, välj Properties
  3. Gå till fliken Access och klicka på knappen Relay...
  4. Klicka på Add... och lägg in 127.0.0.1 som IP-nummer
  5. Klicka Ok på de öppnade dialogerna

Nu ska utgående mail från ASP.NET applikationer fungera korrekt.

IIS security settings screenshot

Wednesday, 16 May 2007 14:13:08 (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]
.Net | ASP.NET
# Tuesday den 20 March 2007

Eftersom jag helt gått över till att jobba med Vista som operativsystem på min utvecklingsmaskin på jobbet så har jag kommit fram till en del åtgärder som gör att man kan köra EpiServer under IIS7 på Vista. Observera att detta inte är en supportad plattform ännu så om det ger problem får man lösa dom själv eller backa till att köra EpiServer i en virtuell maskin.

Installera EpiServer Manager utan .Net Framework 1.1

Vista har som bekant inte .Net Framework 1.1 installerat från början. EpiServer i sig kräver inte 1.1 men installationsprogrammet EpiServer Manager ger ett något missvisande felmeddelande när man försöker köra det direkt på Vista. Det beror på att MSI-filen har ett inlagt beroende av 1.1 som krav före installation. Tyvärr ger den ifrån sig ett meddelande om att det är ASP.NET 2.0 som inte är installerat men detta är fel.

Det finns två lösningar på problemet, antingen installerar man .NET Framework 1.1 run-time och fortsätter sedan med EpiServer-installationen eller så modifierara man MSI-filen med verktyget Orca.exe som finns i Windows SDK och tar helt enkelt bort kontrollen av att .Net 1.1 är installerat. Här finns en instruktion om hur man gör detta hos Ohad Israeli.

Konfigurera IIS6 kompatibilitet i nya IIS7

I Kontrollpanelen -> Program och funktioner (Control Panel, Programs & Features) installeras minst följande delar:

  • IIS 6 Management Compatibility
  • IIS 6 Management Console
  • IIS 6 Metabase and IIS 6 configuration compatibility

IIS 6 Inställningar

Installera

Efter ovanstående förberedelser ska man kunna installera EpiServer Manager utan problem.

För att sedan installera webbsajter med EpiServer kan man antingen stänga av UAC när man kör EpiServer Manager eller starta den som administratör, detta för att installationsapplikaitonen ska ha rättigheter att komma åt konfigurationen av IIS och de webbsajter som finns.

I detta läge är det bara att använda EpiServer Manager för att installera EpiServer i en ny sajt eller i en existerande sajt. Nu kan man med fördel lägga in de ASP.NET 2.0 baserade mallar som finns.

Extra konfiguration

Lägg till skrivrättigheter för användaren NETWORK SERVICE på katalogerna upload och konfigurationsfilen, web.config.

Eftersom IIS 7 har en hel del ny funktionalitet och en del ändrat beteende så måste man konfigurera upp HTTP moduler som EpiServer använder för att få sajten att fungera korrekt.

Redigera %windir%\System32\inetsrv\config\applicationHost.config för att tillåta enskilda applikationer att ange egna avsteg från ursprunglig säkerhetskonfiguration, byt ut

<section name="requestFiltering" overrideModeDefault="Deny" />

Mot:

<section name="requestFiltering" overrideModeDefault="Allow" />

Redigera sedan web.config, lägg till följande sektion före avslutande -tag:

<system.webServer>
<modules>
<add name="WorkflowManager" type="EPiServer.Workflow.WorkflowManager, EPiServer.Workflow" preCondition="managedHandler" />
<add name="SpiderSupport" type="EPiServer.Util.SpiderSupport, EPiServer" preCondition="managedHandler" />
<add name="Initializer" type="EPiServer.Scheduler.Initializer, EPiServer.Scheduler" preCondition="managedHandler" />
<add name="UnifiedFileSystem" type="EPiServer.FileSystem.UnifiedFileSystemModule, EPiServer" preCondition="managedHandler" />
<add name="FriendlyUrl" type="EPiServer.Util.FriendlyUrlModule, EPiServer" preCondition="managedHandler" />
<add name="ExternalUrl" type="EPiServer.Util.ExternalUrlModule, EPiServer" preCondition="managedHandler" />
modules>
<validation validateIntegratedModeConfiguration="false" />
<security>
<requestFiltering allowDoubleEscaping="True" />
security>
system.webServer>


Detta motsvarar egentligen att man kör kommandot:

%systemroot%\system32\inetsrv\APPCMD.EXE migrate config "Default Web Site/epi1"

Där Default Web Site/epi1 är IIS applikationssökväg till din nya EpiServer-sajt. Till det har också lagts en säkerhetskonfigurering för att tillåta URL med flera escape-sekvenser, annars får man problem med vissa bildfiler i admin och edit lägena i EpiServer som använder bilder med "+"-tecken i namnet, tex T+.gif.

En grej till som kan underlätta debugging är att stänga av friendly URLs, detta för att detaljerade felmeddelanden ska kunna visas vid debugging på utvecklingsmaskin.

<add key="EPfEnableFriendlyUrl" value="False" />

Kontrollera sedan att felhantering av 404-fel i IIS är inställd på att använda anpassad felsida, vissa gånger verkar inte EpiServer Manager klara att göra denna inställning automatiskt. Peka 404 sidan till /Util/NotFound.aspx samt ändra "Error Responses" till "Custom errorpages" under "Edit Feature Settings...", dessa inställningarna hittar man under "Error Pages" för EPiServer webbplatsen.

Se också till att EPiServer webbplatsen använder "Classic .NET AppPool", mha IIS Managern. 

screenshot

Integrated pipe-line mode verkar inte trivas tillsammans med EpiServer eftersom w3wp.exe processen drar 100% CPU om man kör i det läget.

Ok, efter dessa åtgärder fungerar EpiServer utmärkt under Visat och IIS7 för utveckling!

Tuesday, 20 March 2007 13:35:23 (W. Europe Standard Time, UTC+01:00)  #    Comments [6]
ASP.NET | EpiServer | IIS7 | Windows Vista
# Wednesday den 5 July 2006

Det gamla problemet med att SELECT-element och andra element som baseras på Windows kontroller syns rakt igenom alla lager även om de ligger ovanpå när de renderas i Internet Explorer får ny aktualitet när det dyker upp fler och fler Ajax tillämpningar. Själv kände jag mig tvungen att hitta en elegant lösning på problemet när det dök upp både i en applikation som bygger på ASP.NET Ajax och vid en ändring i menysystemet i MOLiTHO där vi utnyttjar CSS Control Adapters för att rendera menyer om så önskas.

Lösningen på problemet är ofta att dölja alla SELECT-element med hjälp av ett JavaScript när ett lager ska visas. Efter mycket sökande hittade jag en extra elegant lösning på den relativt anonyma sajten Hedgerwow.com.

Här är en länk till sidan med lösningen.

Det fina med just denna lösning är att den är fri från skript, bara CSS och en villkorsstyrd kommentar som ger en IFRAME som utnyttjas när ett lager ska renderas i IE. De tester jag har gjort med CSS-IFRAME lösningen här visade att den även fungerar tillsammans med Atlas Toolkit DragPanel.

IE 7 som kommer inom en inte alltför avlägsen framtid innehåller en bättre lösning på problemet i och med att man där har implementerat nya varianter av de windowsbaserade elementen.

Ett exempel på hur det kan se ut i kod, hämtat från Hedgerwow.com:

<style>
.select-free
{
 position:absolute;
 z-index:10;/*any value*/
 overflow:hidden;/*must have*/
 width:33em;/*must have for any value*/;
}
.select-free iframe
{
 display:none;/*sorry for IE5*/
 display/**/:block;/*sorry for IE5*/
 position:absolute;/*must have*/
 top:0;/*must have*/
 left:0;/*must have*/
 z-index:-1;/*must have*/
 filter:mask();/*must have*/
 width:3000px;/*must have for any big value*/
 height:3000px/*must have for any big value*/;
}
.select-free .bd
{
border:solid 1px #aaaaaa;
padding:12px;
}
</style>

<div class="select-free" id="dd3">
 <div class="bd">
your content here
 </div>
 <!--[if lte IE 6.5]><iframe></iframe><![endif]-->
</div>

Wednesday, 05 July 2006 19:54:02 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Ajax | ASP.NET | Internet Explorer
# Thursday den 7 July 2005

Jeff Prosise (Wintellect)gav en underhållande genomgång av de flesta nyheter i ASP.NET. Det mest intressanta inom ASP.NET området för min del kommer att bli att bygga en del olika providers för Membership, SiteMap mfl. som utnyttjar provider modellen och de nya sätten  att hantera asynkrona sidor. Jag anar också en nyrenässans för JavaScript-kunskaper i och med att Client-Callbacks kommer att finnas tillgängligt.

Fredrik Normén har en del mycket intressanta postningar om providers på sin blog

Märkligt vad man får mycket nya bra idéer när man sitter på ett sånt här ställe och ser demos av nya grejer... Det är väl helt enkelt så att när jag sitter på min vanliga arbetsplats så är dagen alltid fylld med måste-vara-klart-igår-eller-helst-förra-månaden-saker så man hinner inte läsa in sig och testa nyheter i den takt man borde.

Thursday, 07 July 2005 09:33:25 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | ASP.NET | TechEd
Blog & Contact
Per Salmi
Per Salmi
Min LinkedIn Profil

Jag arbetar på Combitech AB i Linköping med konsultuppdrag och utbildning inom Microsoft .NET området. Kontakta mig gärna om ni har frågor, behov av konsulttjänster eller är intresserade av utbildning inom .NET.

Copyright © 2017 Per Salmi

Bloggmotor: newtelligence dasBlog 2.3.12105.0

Sign In
Statistics
Total Posts: 220
This Year: 1
This Month: 0
This Week: 0
Comments: 40

Datorer
All Content Copyright © 2017, Per Salmi