<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-801309739688765633</id><updated>2026-04-02T22:36:19.425+02:00</updated><category term=".net"/><category term="asp.net"/><category term="c#"/><category term="google"/><category term="sql server"/><category term="windows"/><category term="html"/><category term="programmeren"/><category term="visual studio"/><category term="API"/><category term="LINQ"/><category term="RSS"/><category term="ajax"/><category term="reporting"/><category term="vakantie"/><category term="widget"/><category term="Active Directory"/><category term="MCE"/><category term="Media Center"/><category term="PSV"/><category term="SOAP"/><category term="VMC"/><category term="ajaxcontroltoolkit"/><category term="blog"/><category term="browser"/><category term="bug"/><category term="chart"/><category term="consument"/><category term="debugging"/><category term="documenteren"/><category term="domein"/><category term="drivers"/><category term="dynamic data"/><category term="email"/><category term="eye tracking"/><category term="flash"/><category term="gadget"/><category term="javascript"/><category term="layout"/><category term="mouse tracking"/><category term="mysql"/><category term="opmaak"/><category term="search engine"/><category term="slipstream"/><category term="smallweb"/><category term="speech"/><category term="tags"/><category term="telefonische verkoop"/><category term="telemarketing"/><category term="toegang"/><category term="tool"/><category term="virtualisatie"/><category term="vmware"/><category term="webmail"/><category term="webservice"/><category term="website optimalisatie"/><category term="werk"/><category term="zoeken"/><category term="zoekmachine"/><title type='text'>Danny&#39;s -Smallweb- Blog</title><subtitle type='html'>Welkom op Danny&#39;s Smallweb Blog.&lt;br&gt;&#xa;Ik (Danny Scheelings) ben één van de vennoten van het mooie bedrijf Smallweb. Deze blog moet een idee geven waar ik zakelijk (en soms ook privé) mee bezig ben.&#xa;Onderwerpen die veelal terug zullen komen zijn: softwareontwikkeling, internet, Xbox stuff. Deze laatste is natuurlijk Privé.&#xa;&lt;br&gt;&#xa;Check onze site voor meer informatie over &#xa;&lt;a href=&#39;http://www.smallweb.nl&#39;&gt;Smallweb&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>45</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-5179553267268404717</id><published>2010-03-14T12:28:00.004+01:00</published><updated>2010-03-14T12:47:18.544+01:00</updated><title type='text'>Bepaal de complete HTML van een ASP.NET Control</title><content type='html'>De volledige HTML van een ASP.NET control (inclusief alle onderliggende controls) kan je bepalen door onderstaande code toe te passen:&lt;br /&gt;&lt;div style=&quot;BACKGROUND-COLOR: whitesmoke; WIDTH: 95%; WHITE-SPACE: nowrap; FONT-SIZE: 10px; OVERFLOW: auto&quot;&gt;&lt;pre&gt;&lt;br /&gt;string html = null;&lt;br /&gt;using (StringWriter stringWriter = new StringWriter())&lt;br /&gt;{&lt;br /&gt;   using (HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter))&lt;br /&gt;   {&lt;br /&gt;      control.RenderControl(htmlWriter);&lt;br /&gt;      html = stringWriter.ToString();&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Hierboven is de &#39;control&#39; variabele natuurlijk een instantie van een ASP.NET control.&lt;br /&gt;&lt;br /&gt;Helaas kan jij bij bovenstaande code tegen een probleem aanlopen. Wanneer zich binnen het control, waar je de HTML van wilt bepalen, controls bevinden die binnen een ASP.NET Form geplaatst moeten worden (zoals bijvoorbeeld een TextBox, CheckBox, enz.), dan treedt de volgende fout op:&lt;br /&gt;&lt;i&gt;Control &#39;TextBox1&#39; of type &#39;TextBox&#39; must be placed inside a form tag with runat=server&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Dit probleem kan je oplossen door het volgende te doen:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Zet de volgende optie in de &#39;Page Directive&#39; van de pagina: &lt;em&gt;EnableEventValidation=&quot;False&quot; &lt;/em&gt;Deze optie kan ook in de Web.Config ingesteld worden. Dan geldt dit voor alle pagina&#39;s in je web project&lt;/li&gt;&lt;li&gt;&#39;Override&#39; de volgende methode in de pagina: &lt;em&gt;VerifiyRenderingInServerForm&lt;/em&gt;. Deze methode hoeft dan geen enkele code te bevatten&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Check het MSDN om te bepalen of je vindt dat deze twee opties inderdaad aangepast/overriden mogen worden in jouw project:&lt;br /&gt;• &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.web.ui.page.verifyrenderinginserverform.aspx&quot; target=&quot;_blank&quot;&gt;Page.VerifiyRenderingInServerForm&lt;/a&gt;&lt;br /&gt;• &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.web.configuration.pagessection.enableeventvalidation.aspx&quot; target=&quot;_blank&quot;&gt;PageSection.EnableEventValidation&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/5179553267268404717/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/5179553267268404717' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/5179553267268404717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/5179553267268404717'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2010/03/bepaal-de-complete-html-van-een-aspnet.html' title='Bepaal de complete HTML van een ASP.NET Control'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-3683474410747508512</id><published>2010-03-09T22:02:00.003+01:00</published><updated>2010-03-09T22:18:44.814+01:00</updated><title type='text'>Vervanger voor ASP.NET Dynamic Data Web Application</title><content type='html'>Momenteel ben ik een fervent gebruiker van de &lt;a href=&quot;http://www.telerik.com/&quot; target=&quot;_blank&quot;&gt;ASP.NET AJAX control suite van Telerik&lt;/a&gt;. Ik heb geprobeerd een simpele Database editor te ontwikkelen, ter vervanging van het ASP.NET Dynamic Data Web Application project uit Visual Studio 2008.&lt;br /&gt;&lt;br /&gt;Dit Visual Studio 2008 C# project kan je &lt;a href=&quot;http://www.smallweb.nl/upload/Danny/DynamicDataWithTelerik.zip&quot;&gt;hier&lt;/a&gt; downloaden. Let op: de Telerik assembly is verwijderd uit het ZIP bestand. Hier zal je zelf voor moeten zorgen.&lt;br /&gt;&lt;br /&gt;Dit project bevat:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;1 LINQ to SQL diagram met alle tabellen uit mijn AdventureWorks SQL Server database&lt;/li&gt;&lt;li&gt;1 webpagina met:&lt;br /&gt;- 1 RadGrid voor het tonen en wijzigen van records uit een SQL Server tabel&lt;br /&gt;- 1 RadComboBox voor het tonen van alle tabellen uit het LINQ to SQL diagram&lt;br /&gt;- 3 RadioButtons voor het specificeren van de EditMode eigenschap van het RadGrid&lt;br /&gt;- 1 LinkButton om het volledige grid te exporteren naar MS Excel&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Dit project is dus heel wat simpeler dan een Dynamic Data Web Application. Om deze functionaliteit te gebruiken in je eigen webproject dien je het volgende te doen:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Kopieer de webpagina en het LINQ to SQL diagram naar je eigen webproject&lt;/li&gt;&lt;li&gt;Verwijder alle tabellen uit het LINQ to SQL diagram en voeg de tabellen uit je eigen SQL Server database aan het diagram.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Dat is alles... succes ermee !&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/3683474410747508512/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/3683474410747508512' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3683474410747508512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3683474410747508512'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2010/03/vervanger-voor-aspnet-dynamic-data-web.html' title='Vervanger voor ASP.NET Dynamic Data Web Application'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-713888926290350710</id><published>2009-10-19T09:23:00.004+02:00</published><updated>2009-10-19T10:51:55.381+02:00</updated><title type='text'>Vervanger voor ValidatorCalloutExtender van AjaxControlTookit</title><content type='html'>Al enige tijd maak ik dankbaar gebruik van het &lt;a href=&quot;http://www.asp.net/AJAX/AjaxControlToolkit/Samples/Default.aspx&quot; target=&quot;_blank&quot;&gt;AjaxControlTookit&lt;/a&gt; in mijn webapplicaties. Het control wat ik het meest gebruik is de ValidatorCalloutExtender. Deze extender vervangt de standaard meldingen van een ASP.NET Validator control door een fraaie tooltip.&lt;br /&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_QalC6Ghz9k2pNczYKJBZLF9EZsqUYvS8Ta8h4Es7yp7mkRYFcwMVWXfdmnYpsmC_ZvKu_jdSL-H7IoZPKHDetlQwXu_HNycFk5oKCrd6Wq1e2njxFTVQvlCcEkf1OlV0cghcszMF74tt/s1600-h/AjaxControlToolkit_ValidatorCallout.jpg&quot;&gt;&lt;img style=&quot;WIDTH: 400px; HEIGHT: 161px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5394228085693547714&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_QalC6Ghz9k2pNczYKJBZLF9EZsqUYvS8Ta8h4Es7yp7mkRYFcwMVWXfdmnYpsmC_ZvKu_jdSL-H7IoZPKHDetlQwXu_HNycFk5oKCrd6Wq1e2njxFTVQvlCcEkf1OlV0cghcszMF74tt/s400/AjaxControlToolkit_ValidatorCallout.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;Sinds kort maak ik gebruik van de &lt;a href=&quot;http://www.telerik.com/&quot; target=&quot;_blank&quot;&gt;Telerik&lt;/a&gt; controls (&lt;a href=&quot;http://www.telerik.com/products/aspnet-ajax.aspx&quot; target=&quot;_blank&quot;&gt;RadControls for ASP.NET AJAX&lt;/a&gt;), welke mijns insziens een zeer volwassen pakket met ASP.NET AJAX controls is.&lt;br /&gt;&lt;br /&gt;Eigenlijk wil ik niet beide control suites in één project gebruiken en daarom heb ik een vervanger voor de ValidatorCalloutExtender van het AjaxControlTookit ontwikkelt. Deze vervanger is ook een ASP.NET AJAX Extender, welke gebruik maakt van de RadTooltipManager om de tooltips bij een Validator control te tonen.&lt;br /&gt;&lt;br /&gt;Ik heb deze extender in een test web project geplaatst, welke je &lt;a href=&quot;http://www.smallweb.nl/upload/danny/ValidatorRadTooltipWeb.zip&quot;&gt;hier&lt;/a&gt; kan downloaden. In dit bestand heb ik overigens de assemblies van Teleriek &lt;u&gt;niet&lt;/u&gt; toegevoegd. Daar zal je zelf voor moeten zorgen.&lt;br /&gt;&lt;br /&gt;Hieronder een korte uitleg van deze extender:&lt;br /&gt;De belangrijkste onderdelen van de extender zijn een klasse, genaamd ValidatorRadTooltipExtender, en een javascript bestand, genaamd ValidatorRadTooltipBehavior.&lt;br /&gt;&lt;u&gt;ValidatorRadTooltipExtender&lt;br /&gt;&lt;/u&gt;De ValidatorRadTooltipExtender klasse erft van de abstracte klasse ExtenderControl, welke de basis is voor ASP.NET AJAX control extenders. Deze klasse bevat de volgende eigenschappen:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;RadTooltipManagerID = het ID van het RadTooltipManager control welke gebruikt wordt om de tooltips te tonen&lt;/li&gt;&lt;li&gt;HighlightCssClass = naam van de class in de stijlen van de pagina, welke wordt gebruikt om toe te passen op het control wat gevalideert wordt (bijv. een Textbox welke verplicht is om in te vullen), wanneer het control ongeldig is volgens de validatie&lt;/li&gt;&lt;/ul&gt;&lt;u&gt;ValidatorRadTooltipBehavior&lt;br /&gt;&lt;/u&gt;Dit is het javascript bestand welke de extender functionaliteit implementeert. Hierbij wordt de EvaluationFunction van het Validator control vervangen door een eigen Validate functie. Deze functie voert wel de EvaluationFunction van het Validator control uit, maar zorgt er daarna voor dat het ToolTip wordt getoond op de pagina.&lt;br /&gt;Hiernaast worden event handlers toegevoegt voor de Focus en Blur events van het control wat gevalideert wordt. Bij OnFocus wordt de tooltip getoond (indien deze niet geldig is volgens de validatie) en bij OnBlur wordt deze tooltip weer verborgen.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Webpagina&lt;/strong&gt;&lt;br /&gt;De volgende onderdelen dienen toegevoegd te worden aan een pagina, om gebruikt van deze extender te kunnen maken:&lt;br /&gt;&lt;u&gt;RadTooltipManager&lt;br /&gt;&lt;/u&gt;Dit control dient toegevoegd te worden aan de webpagina of aan de Master van de webpagina. De volgende eigenschappen op dit control zijn van belang:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;RelativeTo = waar (gerelateerd aan welk object) dient de tooltip gepositioneerd te worden. Deze eigenschap dient op &#39;Element&#39; ingesteld te worden&lt;/li&gt;&lt;li&gt;HideEvent = welk event zorgt ervoor dat de tooltip weer verborgen dient te worden. Deze eigenschap dient op &#39;FromCode&#39; ingesteld te worden&lt;/li&gt;&lt;li&gt;ShowEvent = welk event zorgt ervoor dat de tooltip weer getoond dient te worden. Deze eigenschap dient ook op &#39;FromCode&#39; ingesteld te worden&lt;/li&gt;&lt;/ul&gt;&lt;u&gt;Validator&lt;br /&gt;&lt;/u&gt;Naast het element wat gevalideert dient te worden (bijv. een Textbox) dient natuurlijk het Validator control (bijv. de RequiredFieldValidator) aan de pagina toegevoegd te worden. Voor dit control zijn de volgende eigenschappen van belang:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ErrorMessage = de melding die in de tooltip getoond moet worden indien het element niet geldig is. Hierbij kan je gewoon gebruik van HTML maken, zodat je de tooltip een leuk uiterlijk kan geven!&lt;/li&gt;&lt;li&gt;Display = deze eigenschap dient op &#39;None&#39; ingesteld te worden, zodat de ErrorMessage van de validator niet in een label wordt getoond. Hiervoor wordt natuurlijk de tooltip gebruikt.&lt;/li&gt;&lt;li&gt;SetFocusOnError = indien deze op &#39;True&#39; wordt ingesteld dan zal het element wat gevalideert wordt de focus krijgen wanneer dit niet geldig is. Door deze actie zal het OnFocus event ervoor zorgen dat de tooltip direct getoond wordt.&lt;/li&gt;&lt;/ul&gt;Hierboven zijn de belangrijkste onderdelen van dit extender control beschreven. Hieronder een screenshot van deze extender in werking.&lt;br /&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWDmGf-Sq7cGoL72_shix-Lpy_urxoGFN8NqOAPawXR2PNNSMBH2xISYDjKStkdZLkUUCkXeqp27CS3IjQMLWgFhmE2Obw0enNcod8xCztnwIY69J93lz3lgYZWdee_-bLG85xmdvTfG0V/s1600-h/Telerik_ValidatorTooltip.jpg&quot;&gt;&lt;img style=&quot;WIDTH: 311px; HEIGHT: 68px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5394228097190203986&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWDmGf-Sq7cGoL72_shix-Lpy_urxoGFN8NqOAPawXR2PNNSMBH2xISYDjKStkdZLkUUCkXeqp27CS3IjQMLWgFhmE2Obw0enNcod8xCztnwIY69J93lz3lgYZWdee_-bLG85xmdvTfG0V/s400/Telerik_ValidatorTooltip.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;Veel succes met dit extender control.</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/713888926290350710/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/713888926290350710' title='5 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/713888926290350710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/713888926290350710'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/10/vervanger-voor-validatorcalloutextender.html' title='Vervanger voor ValidatorCalloutExtender van AjaxControlTookit'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_QalC6Ghz9k2pNczYKJBZLF9EZsqUYvS8Ta8h4Es7yp7mkRYFcwMVWXfdmnYpsmC_ZvKu_jdSL-H7IoZPKHDetlQwXu_HNycFk5oKCrd6Wq1e2njxFTVQvlCcEkf1OlV0cghcszMF74tt/s72-c/AjaxControlToolkit_ValidatorCallout.jpg" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-2205253724241268418</id><published>2009-09-30T09:18:00.002+02:00</published><updated>2009-09-30T09:22:22.441+02:00</updated><title type='text'>Fiedelientje Blog</title><content type='html'>&lt;a href=&quot;http://www.fiedelientje.nl/&quot;&gt;&lt;img border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://www.fiedelientje.nl/images/logosmall.jpg&quot; /&gt;&lt;/a&gt;Mijn vrouw is een tijdje geleden een webwinkel begonnen onder de naam &lt;a href=&quot;http://www.fiedelientje.nl/&quot;&gt;Fiedelientje&lt;/a&gt;. Nu is ze een Blog gestart waarin ze probeert een beetje te kunnen laten zien van achter de schermen en de ontwikkeling van haar winkeltje.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Fiedelientje&lt;/strong&gt; is een kinderlifestyle webwinkel voor kleine wereldburgertjes. Houdt u van lieflijk, kleurrijk, stippen en ruitjes en niet van een standaard assortiment dan bent u bij Fiedelientje aan het juiste adres. U vind hier artikelen van verschillende leveranciers, maar ook handgemaakte artikelen van eigen ontwerp.&lt;br /&gt;&lt;br /&gt;Bezoek haar blog eens op &lt;a href=&quot;http://fiedelientje.blogspot.com/&quot; target=&quot;_blank&quot;&gt;http://fiedelientje.blogspot.com/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/2205253724241268418/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/2205253724241268418' title='2 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/2205253724241268418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/2205253724241268418'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/09/fiedelientje-blog.html' title='Fiedelientje Blog'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-8702493824627985778</id><published>2009-04-22T08:36:00.005+02:00</published><updated>2009-04-22T16:35:17.081+02:00</updated><title type='text'>SSH op VMware ESXi inschakelen</title><content type='html'>&lt;a href=&quot;http://nl.wikipedia.org/wiki/Secure_Shell&quot; target=&quot;_blank&quot;&gt;SSH&lt;/a&gt; staat standaard uit in &lt;a href=&quot;http://www.vmware.com/products/esxi/&quot; target=&quot;_blank&quot;&gt;VMware ESXi&lt;/a&gt;. VMware geeft ook &lt;u&gt;geen&lt;/u&gt; support indien je SSH wel inschakeld op ESXi. Toch is het wel erg handig als je remote op de console van ESXi kan inloggen om bijvoorbeeld wat maintenance uit te voeren.&lt;br /&gt;&lt;br /&gt;Hieronder staan de stappen beschreven waarmee je SSH kan inschakelen op ESXi:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Start VMware ESXi op en toets in het console op ALT-F1:&lt;/li&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbXl0PJoI9Ck9S6aHzPt9LdRAQK4gCiipX7H4aDIhZe-8iLjazXXSvVCYZ_5rI8JGjC2VeSn2yZ9FEUr7-NEQZsuhoFPMi2e21nyaw91tvbyRkRU4HyArpZLheKPRgullsWVC5n1bRpQrb/s1600-h/EnableSsh1.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5327404108973724018&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 222px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbXl0PJoI9Ck9S6aHzPt9LdRAQK4gCiipX7H4aDIhZe-8iLjazXXSvVCYZ_5rI8JGjC2VeSn2yZ9FEUr7-NEQZsuhoFPMi2e21nyaw91tvbyRkRU4HyArpZLheKPRgullsWVC5n1bRpQrb/s400/EnableSsh1.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Typ het commando &lt;em&gt;unsupported&lt;/em&gt; in:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBuyMynfC_ciNVOk_hUGp_lia-6gb8gUfi8U-UsERnMyfGS5WHfntELp2JknFBlBqH7MoG_RWxKRGiWw5ms0-QOZXP5vCaiIa6Smsj3U0rQY1m92JZsuyuIjUxBjJ6MLY1tbgYjizknleU/s1600-h/EnableSsh2.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5327404110494717650&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 221px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBuyMynfC_ciNVOk_hUGp_lia-6gb8gUfi8U-UsERnMyfGS5WHfntELp2JknFBlBqH7MoG_RWxKRGiWw5ms0-QOZXP5vCaiIa6Smsj3U0rQY1m92JZsuyuIjUxBjJ6MLY1tbgYjizknleU/s400/EnableSsh2.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Geeft het wachtwoord van de root gebruiker in&lt;/li&gt;&lt;li&gt;Typ nu het volgende commando in: &lt;em&gt;vi /etc/inetd.conf&lt;br /&gt;&lt;/em&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-NA03Mcpm3PkLwRqfoooTww6HCMQH8_umlLf48hcLPgkG36FXiTf9vjSiWcfCMSbzh7mT4mpaEDaat2wtQ_Ji755OZSZrzC2a-kWorrSsccYZ-BfjDhdSRHWfl0wETU2wJ12Z82TDuF5-/s1600-h/EnableSsh3.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5327404113093145298&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 222px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-NA03Mcpm3PkLwRqfoooTww6HCMQH8_umlLf48hcLPgkG36FXiTf9vjSiWcfCMSbzh7mT4mpaEDaat2wtQ_Ji755OZSZrzC2a-kWorrSsccYZ-BfjDhdSRHWfl0wETU2wJ12Z82TDuF5-/s400/EnableSsh3.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ga (met behulp van de pijltjestoetsen) naar de regel waar &lt;em&gt;#ssh&lt;/em&gt; staat en verwijder het # teken&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc_AdUdD7GG06X-40hhLVMiXKCAE9ZjLOevhw_5yKdwBmE575pwwFxIQ1Z40KfuWNkdadXwaxTU3sTthJV4P8rqMssLG_ZnSkN4Ohjjz6b6NhqxyYttxRx5G2dMgPtiHXGEtThRhczizfb/s1600-h/EnableSsh4.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5327404115374995234&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 220px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc_AdUdD7GG06X-40hhLVMiXKCAE9ZjLOevhw_5yKdwBmE575pwwFxIQ1Z40KfuWNkdadXwaxTU3sTthJV4P8rqMssLG_ZnSkN4Ohjjz6b6NhqxyYttxRx5G2dMgPtiHXGEtThRhczizfb/s400/EnableSsh4.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;- ga voor het # teken staan&lt;br /&gt;- druk op de Insert toets&lt;br /&gt;- ga met de cursor over het # teken&lt;br /&gt;- druk op de Backspace toets&lt;/li&gt;&lt;li&gt;Druk op de ESC toets en typ het commando &lt;em&gt;wq&lt;/em&gt; om het bestand te bewaren&lt;/li&gt;&lt;li&gt;VMware ESXi dient nu opnieuw opgestart te worden.&lt;br /&gt;Zorg er wel voor dat alle virtuele machines netjes zijn afgesloten (door in het operating systeem een &lt;em&gt;shutdown&lt;/em&gt; uit te voeren)&lt;/li&gt;&lt;/ul&gt;Nadat VMware ESXi is herstart kan je met behulp van een SSH tool, zoals bijvoorbeeld &lt;a href=&quot;http://www.putty.nl/&quot; target=&quot;_blank&quot;&gt;PuTTY&lt;/a&gt;, remote inloggen op de ESXi console.&lt;br /&gt;&lt;br /&gt;Success ermee !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bron(nen): &lt;a href=&quot;http://www.vm-aware.com/2008/07/17/enable-ssh-for-esxi/&quot; target=&quot;_blank&quot;&gt;VM-Aware&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/8702493824627985778/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/8702493824627985778' title='5 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/8702493824627985778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/8702493824627985778'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/04/ssh-op-vmware-esxi-inschakelen.html' title='SSH op VMware ESXi inschakelen'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbXl0PJoI9Ck9S6aHzPt9LdRAQK4gCiipX7H4aDIhZe-8iLjazXXSvVCYZ_5rI8JGjC2VeSn2yZ9FEUr7-NEQZsuhoFPMi2e21nyaw91tvbyRkRU4HyArpZLheKPRgullsWVC5n1bRpQrb/s72-c/EnableSsh1.jpg" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-7082507420467298778</id><published>2009-03-26T12:01:00.005+01:00</published><updated>2009-03-26T15:10:40.718+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="drivers"/><category scheme="http://www.blogger.com/atom/ns#" term="slipstream"/><category scheme="http://www.blogger.com/atom/ns#" term="virtualisatie"/><category scheme="http://www.blogger.com/atom/ns#" term="vmware"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Installeer SCSI hard disk in VMWare Virtual Machine met Windows XP</title><content type='html'>Wanneer je in een VMWare virtual machine Windows XP wilt installeren met een Hard Disk van het type SCSI, dan heb je een probleem met de drivers. De benodigde drivers zitten namelijk niet in een standaard Windows XP installatie wat veroorzaakt dat de Windows XP installatie de hard disk niet &#39;ziet&#39; en dus de installatie niet kan voltooien.&lt;br /&gt;&lt;br /&gt;VMWare heeft wel een driver hiervoor beschikbaar gestelt, welke je kan downloaden op &lt;a href=&quot;http://www.vmware.com/download/ws/drivers_tools.html&quot; target=&quot;_blank&quot;&gt;http://www.vmware.com/download/ws/drivers_tools.html&lt;/a&gt; onder het kopje SCSI Disk Drivers. Dit is een Floppy image die je in je Virtuele Machine kan koppelen aan de floppy drive. In de Windows XP installatie kies je dan de optie &quot;Druk op F6 om een niet-Microsoft SCSI/RAID stuurprogramma te installeren&quot;. Daarna kies je &quot;E=Extra apparaat opgeven&quot; en Enter om de &quot;VMWare SCSI Controller&quot; te selecteren. Wanneer je daarna de installatie probeert te voltooien krijg je, tijdens het kopiëren van de bestanden, de foutmelding &quot;Setup kan het bestand vmscsi.sys niet kopiëren&quot;. Helaas kan je nu de installatie niet goed voltooien.&lt;br /&gt;&lt;br /&gt;Een simpele manier (en eentje die zeker werkt) is het &#39;&lt;a href=&quot;http://mediatheek.thinkquest.nl/~lld523/index.php?id=software_windows_slipstreamen&quot; target=&quot;_blank&quot;&gt;slipstreamen&lt;/a&gt;&#39; van de SCSI driver in de Windows XP installatie. Ik heb hiervoor &lt;a href=&quot;http://www.nliteos.com/&quot; target=&quot;_blank&quot;&gt;nLite&lt;/a&gt; gebruikt. Met behulp van nLite kan je de gehele Windows XP installatie aanpassen. Ik richt me in dit artikel alleen op het integreren van de driver:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.nliteos.com/download.html&quot; target=&quot;_blank&quot;&gt;Download&lt;/a&gt; de laatste versie van nLite op hun website en installeer deze&lt;/li&gt;&lt;li&gt;Start nLite op en selecteer de directory waar de Windows XP installatie staat. Dit kan ook de CD-ROM drive (waar de installatie CD van Windows in zit) zijn&lt;/li&gt;&lt;li&gt;Klik een aantal keer op Next totdat je onderstaand venster te zien krijgt:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU68O1rRBWsgOQaGLiBCj86LywcxoK0mdG9UozwwpjTo2-AafnngjFHJRiu4K8MPqy_rdRHyl8052B7-a5SHRkrPth98V8dYZI5J4jHmu2aeUOtWFwcxa0IsYYLAzFD_eGZJTqlbVClEed/s1600-h/nLite1.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5317456982731339634&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 317px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU68O1rRBWsgOQaGLiBCj86LywcxoK0mdG9UozwwpjTo2-AafnngjFHJRiu4K8MPqy_rdRHyl8052B7-a5SHRkrPth98V8dYZI5J4jHmu2aeUOtWFwcxa0IsYYLAzFD_eGZJTqlbVClEed/s400/nLite1.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Selecteer hier de opties Drivers en Bootable ISO&lt;/li&gt;&lt;li&gt;Klik hierna op Next totdat je onderstaand venster te zien krijgt:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWMbMhxVgBt4rxy9uBK3ITeJxUs3y8j9ZyVUcKYf5dEU7CXs0ZISW4b1Yw3_UTLXpZcsF446qr9pM9cMwkl3vAYsoCfmUMIqQ7D9H8iIFaUdvBAaCdeNHUB7dBlrsO7rOYb0rbBcdA5j-3/s1600-h/nLite2.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5317456986170325586&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 317px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWMbMhxVgBt4rxy9uBK3ITeJxUs3y8j9ZyVUcKYf5dEU7CXs0ZISW4b1Yw3_UTLXpZcsF446qr9pM9cMwkl3vAYsoCfmUMIqQ7D9H8iIFaUdvBAaCdeNHUB7dBlrsO7rOYb0rbBcdA5j-3/s400/nLite2.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Download &lt;a href=&quot;http://www.smallweb.nl/upload/danny/VmScsiFloppy.zip&quot;&gt;hier&lt;/a&gt; het ZIP bestand met de VMWare SCSI Driver en extract de inhoud naar een folder.&lt;br /&gt;Klik hier op Insert en selecteer daarna Single Driver. Nu heb je de mogelijkheid om de SCSI driver te selecteren welke in de Windows XP installatie toegevoegd zal worden.&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-lunh9Y6X2shxh6cMsWGhdQqNphTzo0po8HKJpn5_eJlHOV_9Yn7r4ga5TcxcPxOdAd2KeLATArSKtzc7h1sIirfI2eQlRoAkXgvTl-sKaDO8nvcFGbPLT3JJMB1J86hNTQFkI7ku5TjB/s1600-h/nLite3.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5317456989006952866&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 387px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-lunh9Y6X2shxh6cMsWGhdQqNphTzo0po8HKJpn5_eJlHOV_9Yn7r4ga5TcxcPxOdAd2KeLATArSKtzc7h1sIirfI2eQlRoAkXgvTl-sKaDO8nvcFGbPLT3JJMB1J86hNTQFkI7ku5TjB/s400/nLite3.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Selecteer de VMWare SCSI Controler en klik op OK&lt;/li&gt;&lt;li&gt;Klik een aantal keer op Next totdat je onderstaand venster te zien krijgt:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4gD9J9fbxCAJlwg14aP-qdRW1gtjniD3ZmSkAx5UF2oFpijc24EsZkN3JX3DfK5eW5nq9ielaEbL8BzaowMzEvS34WYRT4qaoHlsanqEEW12Pksk629mzSPemPGrGeU03NVdODRZY-es4/s1600-h/nLite4.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5317456988136022658&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 317px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4gD9J9fbxCAJlwg14aP-qdRW1gtjniD3ZmSkAx5UF2oFpijc24EsZkN3JX3DfK5eW5nq9ielaEbL8BzaowMzEvS34WYRT4qaoHlsanqEEW12Pksk629mzSPemPGrGeU03NVdODRZY-es4/s400/nLite4.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Klik op Make ISO om een ISO bestand te genereren welke je daarna kan branden op CD óf aan een VMWare CD Drive kan koppelen&lt;/li&gt;&lt;li&gt;De installatie van Windows XP kan nu op een &#39;normale&#39; manier uitgevoerd worden. De installatie zal automatisch de HD &#39;zien&#39; en de juiste drivers installeren.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Succes ermee !&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/7082507420467298778/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/7082507420467298778' title='5 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/7082507420467298778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/7082507420467298778'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/03/installeer-scsi-hard-disk-in-vmware.html' title='Installeer SCSI hard disk in VMWare Virtual Machine met Windows XP'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU68O1rRBWsgOQaGLiBCj86LywcxoK0mdG9UozwwpjTo2-AafnngjFHJRiu4K8MPqy_rdRHyl8052B7-a5SHRkrPth98V8dYZI5J4jHmu2aeUOtWFwcxa0IsYYLAzFD_eGZJTqlbVClEed/s72-c/nLite1.jpg" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-4741791531616778162</id><published>2009-03-13T21:51:00.006+01:00</published><updated>2009-03-13T22:01:00.119+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net"/><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="gadget"/><category scheme="http://www.blogger.com/atom/ns#" term="speech"/><title type='text'>Leuke Speech gadgets bij Acapela.tv</title><content type='html'>Ik ben momenteel bezig met het uitzoeken van de Speech API van Microsoft welke in het .Net framework geïntegreerd is (System.Speech). Via &lt;a href=&quot;http://www.google.nl/&quot; target=&quot;_blank&quot;&gt;Google&lt;/a&gt; kwam ik op de website van &lt;a href=&quot;http://www.acapela-group.com/&quot; target=&quot;_blank&quot;&gt;Acapela&lt;/a&gt; en &lt;a href=&quot;http://www.acapela.tv/&quot; target=&quot;_blank&quot;&gt;Acapelat.tv&lt;/a&gt;. Daar heb je een aantal zeer leuke gadgets, waaronder deze hieronder. Klik op de &#39;Play&#39; knop en laat je verrassen. Erg indrukwekkend hoor !!!&lt;br /&gt;&lt;br /&gt;&lt;object height=&quot;340&quot; width=&quot;4550&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://embed.acapela.tv/Embed/GoodOldTimesEmbed.swf?id=bcbf6c2d0fa2b&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://embed.acapela.tv/Embed/GoodOldTimesEmbed.swf?id=bcbf6c2d0fa2b&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; width=&quot;455&quot; height=&quot;340&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/4741791531616778162/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/4741791531616778162' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/4741791531616778162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/4741791531616778162'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/03/leuke-speech-gadgets-bij-acapelatv.html' title='Leuke Speech gadgets bij Acapela.tv'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-1511750256076466228</id><published>2009-03-12T15:45:00.005+01:00</published><updated>2009-03-12T16:29:09.373+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="eye tracking"/><category scheme="http://www.blogger.com/atom/ns#" term="mouse tracking"/><category scheme="http://www.blogger.com/atom/ns#" term="website optimalisatie"/><title type='text'>Analyseren van het gedrag van bezoekers aan je website (Mouse Tracking)</title><content type='html'>Tegenwoordig is het mogelijk het echte gedrag van bezoekers op je website te meten. Daarmee bedoel ik dat alle muisbewegingen en klikken van de muis gevolgd kunen worden.&lt;br /&gt;&lt;br /&gt;Een aantal bedrijven (o.a. &lt;a href=&quot;http://www.trackconsole.com/&quot; target=&quot;_blank&quot;&gt;TrackConsole&lt;/a&gt;, &lt;a href=&quot;http://www.clicktale.com/&quot; target=&quot;_blank&quot;&gt;ClickTale&lt;/a&gt;, &lt;a href=&quot;http://opencube.com/mousetrends.asp&quot; target=&quot;_blank&quot;&gt;OpenCube&lt;/a&gt;) hebben reeds software ontwikkelt om dit mogelijk te maken. Met behulp van deze software kan je de weg die een bezoeker met zijn muis heeft gevolgt &#39;naspelen&#39;, waardoor het daadwerkelijke gedrag van de bezoeker inzichtelijk wordt gemaakt. Met behulp van de verzamelde gegevens kan je je website beter optimaliseren, waardoor bezoeken (hopelijk) tot een hoger rendement zullen leiden.&lt;br /&gt;&lt;br /&gt;Mouse Tracking moet je niet vergelijken met &lt;a href=&quot;http://en.wikipedia.org/wiki/Eye_tracking&quot; target=&quot;_blank&quot;&gt;Eye Tracking&lt;/a&gt;. Eye Tracking analyseert het kijkgedrag van een bezoeker aan een website d.m.v. dure (camera-)apparatuur. De resultaten die hieruit volgen zijn wel vergelijkbaar met Mouse Tracking en zouden op dezelfde manier gebruikt kunnen worden voor website optimalisatie.&lt;br /&gt;&lt;br /&gt;Ik denk dat ik me in eerste instantie maar even bezig ga houden met de goedkopere Mouse Tracking methode. Ik ben benieuwd wat de resultaten ervan zullen zijn én of/hoe websites echt, op basis van deze resultaten, geoptimaliseert kunnen worden. Indien ik hier meer over weet zal ik het in mijn blog schrijven.</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/1511750256076466228/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/1511750256076466228' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/1511750256076466228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/1511750256076466228'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/03/analyseren-van-het-gedrag-van-bezoekers.html' title='Analyseren van het gedrag van bezoekers aan je website (Mouse Tracking)'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-6743333806737953158</id><published>2009-03-12T09:53:00.002+01:00</published><updated>2009-03-12T10:04:07.312+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="reporting"/><category scheme="http://www.blogger.com/atom/ns#" term="sql server"/><title type='text'>Velden gebruiken in de header van een SQL Server Reporting rapport</title><content type='html'>&lt;em&gt;Hoe kan je velden uit je dataset gebruiken in de header of footer van een rapport in SQL Server Reporting?&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Helaas kan je dit niet zomaar doen. Wanneer je een veld uit de Datasets toolbar sleept in de header of footer van een rapport, dan krijg je bij het uitvoeren van het rapport de volgende melding: &quot;The Value expression for the textbox ‘[FieldName]’ refers to a field. Fields cannot be used in page headers or footers.&quot;&lt;br /&gt;&lt;br /&gt;Hoe krijg je dit nu wél voor elkaar?&lt;br /&gt;De simpelste oplossing is om aan de &lt;u&gt;rapport parameters&lt;/u&gt; een nieuw veld toe te voegen.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Hierbij selecteer je dan de optie &#39;Hidden&#39;, zodat de gebruiker niet wordt gevraagd om de nieuwe parameter in te vullen.&lt;/li&gt;&lt;li&gt;Onder de sectie &quot;Default values&quot;, selecteer je de optie &quot;From query&quot;. Hierbij maak je de keuze voor de betreffende Dataset en voor &quot;Value field&quot; selecteer je het betreffende veld uit deze dataset&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Hierna kan je een nieuwe &#39;Textbox&#39; in de header of footer van het rapport slepen en de rapport parameter er aan toe kennen. Bijvoorbeeld: &quot;&lt;em&gt;=Parameters!EmployeeName.Value&lt;/em&gt;&quot;&lt;/p&gt;&lt;p&gt;Dat is alles. Succes ermee !&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/6743333806737953158/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/6743333806737953158' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/6743333806737953158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/6743333806737953158'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/03/velden-gebruiken-in-de-header-van-een.html' title='Velden gebruiken in de header van een SQL Server Reporting rapport'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-491406383695699548</id><published>2009-03-06T10:22:00.010+01:00</published><updated>2009-03-06T13:58:41.949+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net"/><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="domein"/><category scheme="http://www.blogger.com/atom/ns#" term="SOAP"/><category scheme="http://www.blogger.com/atom/ns#" term="webservice"/><title type='text'>API van TransIP.nl aanroepen vanuit .Net</title><content type='html'>&lt;p&gt;&lt;a href=&quot;http://www.smallweb.nl/&quot; target=&quot;_blank&quot;&gt;Smallweb&lt;/a&gt; maakt sinds kort gebruikt van een aantal diensten van &lt;a href=&quot;http://www.transip.nl/&quot; target=&quot;_blank&quot;&gt;TransIP&lt;/a&gt;. TransIP biedt hierbij de mogelijkheid om gebruik te maken van een &lt;a href=&quot;http://www.transip.nl/reseller/api/&quot; target=&quot;_blank&quot;&gt;API&lt;/a&gt;. Deze API is een service die SOAP gebaseerd is en biedt functionaliteit om domeinen te bekijken die je via TransIP geregistreerd hebt, maar ook om domeinen te registreren, DNS records te wijzigen, enz.&lt;br /&gt;&lt;br /&gt;TransIP heeft op haar website documentatie geplaatst welke PHP gerelateerd is. Zelf ontwikkel ik voornamelijk op het Microsoft platform en had dus de behoefte om deze API in .Net te gebruiken. Hieronder een korte uitleg om dit eenvoudig op te zetten. &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Om gebruik van de API te kunnen maken dien je eerst klant te worden bij TransIP. Hierna kan je in het &lt;a href=&quot;https://www.transip.nl/controlpanel/admin/reseller/api/&quot; target=&quot;_blank&quot;&gt;controlepaneel&lt;/a&gt; de API inschakelen, waarbij je een wachtwoord voor je gebruikersnaam op kan geven.&lt;br /&gt;Let op: dit wachtwoord hoeft niet hetzelfde wachtwoord te zijn als van je reguliere TransIP account. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Maak in Microsoft Visual Studio een project aan (in dit voorbeeld heb ik een Web Application project in Visual Studio 2008 aangemaakt) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Voeg aan dit project een web reference toe door met de rechter muisknop op het project in de Solution Explorer te klikken en Add Web Reference te selecteren. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Vul in het nieuwe venster de volgende URL in: &lt;a href=&quot;https://api.transip.nl/wsdl/?service=DomainService&quot; target=&quot;_blank&quot;&gt;https://api.transip.nl/wsdl/?service=DomainService&lt;/a&gt; (deze kan je terugvinden in de API documentatie van TransIP) en klik op Go.&lt;br /&gt;Hierna krijg je een aantal keer onderstaand venster te zien, maar hier kan je gewoon op Ja / Yes klikken.&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb7CFHa4u94zgMZsoQsa0RvQtnj2IM63dgDsrM5FC3Phrtp7xQ4mVREFZzgutzlemODZ1eoevBHcLnU6KbsXZdNrrGEng3XBFJgLgmlPY0EnOF7bSiD8rhb4ihZzxq4G7OZHOhJBfZSPrn/s1600-h/Screen5.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5310056749615810226&quot; style=&quot;WIDTH: 363px; CURSOR: hand; HEIGHT: 152px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb7CFHa4u94zgMZsoQsa0RvQtnj2IM63dgDsrM5FC3Phrtp7xQ4mVREFZzgutzlemODZ1eoevBHcLnU6KbsXZdNrrGEng3XBFJgLgmlPY0EnOF7bSiD8rhb4ihZzxq4G7OZHOhJBfZSPrn/s400/Screen5.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Geef de service reference de naam &#39;DomainService&#39; en klik op &quot;Add reference&quot;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHq2xVY4I1iQwSOqMQKk-qTuEzqWYgqvy837Gc3x4JHJLymv31MTbs7JNlmfq2VQY2OxQUfZIsI6dxBuqsi_gdhZEdx_F7754CNMIL-C5Tb6dvLXzsxQC9o5TTC9gDuqRoi-9DLN62-ekc/s1600-h/Screen2.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5310018998174784610&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 281px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHq2xVY4I1iQwSOqMQKk-qTuEzqWYgqvy837Gc3x4JHJLymv31MTbs7JNlmfq2VQY2OxQUfZIsI6dxBuqsi_gdhZEdx_F7754CNMIL-C5Tb6dvLXzsxQC9o5TTC9gDuqRoi-9DLN62-ekc/s400/Screen2.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;De Web Reference wordt nu aan het project toegevoegd.&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaX4YrWP3wy6LJCZNcGh7vpBFENvtHfC_Y2ltibELKzjq2gW3ksqdciyGPRcmiU68A6e1kiLkLJbV5VMYMP_wRMY1xfkQOAKhdMZAfSAN7iDT-EbqOc6o2TKcVIz3yTVp_VFioOfuv8TUZ/s1600-h/Screen3.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5310019003854302690&quot; style=&quot;WIDTH: 215px; CURSOR: hand; HEIGHT: 97px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaX4YrWP3wy6LJCZNcGh7vpBFENvtHfC_Y2ltibELKzjq2gW3ksqdciyGPRcmiU68A6e1kiLkLJbV5VMYMP_wRMY1xfkQOAKhdMZAfSAN7iDT-EbqOc6o2TKcVIz3yTVp_VFioOfuv8TUZ/s400/Screen3.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Om met de API van TransIP te kunnen communiceren dien je 3 cookies in het service request mee te sturen, namelijk:&lt;br /&gt;&lt;u&gt;login&lt;/u&gt; = het account bij TransIP&lt;br /&gt;&lt;u&gt;hash&lt;/u&gt; = een string die volgens het volgende formaat opgebouwd is: &#39;login:password@ipadres&#39;, waarbij login het account bij TransIP is; het password is het wachtwoord wat je hebt ingesteld bij de API instellingen in het controlepaneel van TransIP; het IP adres is het internet IP adres van de computer waarmee je een verbinding maakt met de SOAP service.&lt;br /&gt;Deze string dient geëncrypt te worden met behulp van MD5.&lt;br /&gt;&lt;u&gt;mode&lt;/u&gt; = readonly of readwrite. Met readonly kan je de API testen en met readwrite worden wijzigingen daadwerkelijk doorgevoerd.&lt;br /&gt;Voor het doorgeven van deze waardes heb ik een aantal constanten aangemaakt. Natuurlijk is het veel beter om deze waardes uit een configuratiebestand te lezen, maar voor dit voorbeeld houden we het even simpel.&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 95%; WHITE-SPACE: nowrap; BACKGROUND-COLOR: whitesmoke&quot;&gt;&lt;pre&gt;&lt;br /&gt;private const string TransIpLogin = &quot;username&quot;;&lt;br /&gt;private const string TransIpPassword = &quot;password&quot;;&lt;br /&gt;private const string TransIpIpAddress = &quot;192.168.1.1&quot;;&lt;br /&gt;private const string TransIpMode = &quot;readonly&quot;;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Nu voegen we een &#39;&lt;em&gt;Connect&#39;&lt;/em&gt; methode toe aan de klasse waarin we aan het programmeren zijn, om de verbinding met de SOAP service tot stand te brengen&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 95%; WHITE-SPACE: nowrap; HEIGHT: 250px; BACKGROUND-COLOR: whitesmoke&quot;&gt;&lt;pre&gt;&lt;br /&gt;public DomainServiceService Connect()&lt;br /&gt;{&lt;br /&gt;    //Instancieer service&lt;br /&gt;    DomainServiceService service = new DomainServiceService();&lt;br /&gt;&lt;br /&gt;    //Valideer de server certicicaat (vanwegde de HTTPS conenctie)&lt;br /&gt;    ServicePointManager.ServerCertificateValidationCallback =&lt;br /&gt;        new RemoteCertificateValidationCallback(&lt;br /&gt;        delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)&lt;br /&gt;        {&lt;br /&gt;            return true;&lt;br /&gt;        });&lt;br /&gt;&lt;br /&gt;    //Genereer de hash voor authenticatie&lt;br /&gt;    string hashData = string.Format(&quot;{0}:{1}@{2}&quot;, TransIpLogin, TransIpPassword, TransIpIpAddress);&lt;br /&gt;    string hash = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(hashData, &quot;MD5&quot;).ToLower();&lt;br /&gt;&lt;br /&gt;    //Voeg de 3 authenticatie/configuratie cookies toe&lt;br /&gt;    CookieContainer cookies = new CookieContainer();&lt;br /&gt;    cookies.SetCookies(new Uri(service.Url), string.Format(&quot;login={0}&quot;, TransIpLogin));&lt;br /&gt;    cookies.SetCookies(new Uri(service.Url), string.Format(&quot;hash={0}&quot;, hash));&lt;br /&gt;    cookies.SetCookies(new Uri(service.Url), string.Format(&quot;mode={0}&quot;, TransIpMode));&lt;br /&gt;    service.CookieContainer = cookies;&lt;br /&gt;&lt;br /&gt;    //Retourneer de service instantie&lt;br /&gt;    return service;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;Deze &lt;em&gt;&#39;Connect&#39;&lt;/em&gt; methode geeft een instantie van de service klasse terug, waarmee we domeinen kunnen gaan beheren.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Nu kunnen we bijvoorbeeld de lijst met geregistreerde domeinnamen (geregistreerd via TransIP) ophalen:&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 95%; WHITE-SPACE: nowrap; BACKGROUND-COLOR: whitesmoke&quot;&gt;&lt;pre&gt;&lt;br /&gt;DomainServiceService service = this.Connect();&lt;br /&gt;this.txtDomains.Text = string.Join(&quot;\r\n&quot;, service.getDomainNames());&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;In dit voorbeeld wordt de lijst met domeinen in een TextBox control getoont&lt;br /&gt;&lt;br /&gt;óf WHOIS gegevens van een domein ophalen:&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 95%; WHITE-SPACE: nowrap; BACKGROUND-COLOR: whitesmoke&quot;&gt;&lt;pre&gt;&lt;br /&gt;DomainServiceService service = this.Connect();&lt;br /&gt;this.txtWhois.Text = service.getWhois(this.txtDomain.Text);&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;In dit voorbeeld wordt de WHOIS informatie in een TextBox control getoont.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Voor een overzicht van alle functies in de API verwijs ik je door naar de &lt;a href=&quot;http://www.transip.nl/reseller/api/&quot; target=&quot;_blank&quot;&gt;API documentatie&lt;/a&gt; van TransIP&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Bovenstaande voorbeeld Web Project kan je &lt;a href=&quot;http://www.smallweb.nl/upload/Danny/TransIpTester.zip&quot;&gt;hier&lt;/a&gt; eventueel downloaden.&lt;/p&gt;&lt;p&gt;Succes ermee !! &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/491406383695699548/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/491406383695699548' title='4 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/491406383695699548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/491406383695699548'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/03/api-van-transipnl-aanroepen-vanuit-net.html' title='API van TransIP.nl aanroepen vanuit .Net'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb7CFHa4u94zgMZsoQsa0RvQtnj2IM63dgDsrM5FC3Phrtp7xQ4mVREFZzgutzlemODZ1eoevBHcLnU6KbsXZdNrrGEng3XBFJgLgmlPY0EnOF7bSiD8rhb4ihZzxq4G7OZHOhJBfZSPrn/s72-c/Screen5.jpg" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-3273555469665039767</id><published>2009-03-05T10:02:00.002+01:00</published><updated>2009-03-05T10:09:41.721+01:00</updated><title type='text'>Smallweb verlaagt prijzen voor domeinregistraties</title><content type='html'>Smallweb verlaagt de prijzen voor domeinregistraties. De prijs voor de registratie van een .nl domein kost nu nog maar € 7,50 per jaar &lt;strong&gt;zonder&lt;/strong&gt; eenmalige registratiekosten.&lt;br /&gt;&lt;br /&gt;Maar, bij Smallweb kan je natuurlijk naast de  domeinregistratie ook meteen je website laten &lt;a href=&quot;http://www.smallweb.nl/Smallweb/Hosting_en_domeinnamen_voor_bedrijven/inhoud.aspx?NavId=138&amp;amp;DocId=49&quot;&gt;hosten&lt;/a&gt; (overigens zijn we momenteel bezig met het verlagen van de prijzen voor hosting én het opwaarderen van deze pakketten. Denk hierbij aan beschikbare schijfruimte en maximaal toegestaan dataverkeer).&lt;br /&gt;Het voordeel van Smallweb is dat het alleen maar zeer hoge kwaliteit biedt.&lt;br /&gt;&lt;br /&gt;Check de website van &lt;a href=&quot;http://www.smallweb.nl/&quot;&gt;Smallweb&lt;/a&gt; of &lt;a href=&quot;http://www.smallweb.nl/Smallweb/Hosting_en_domeinnamen_voor_bedrijven/Aanvraagformulier/inhoud.aspx?NavId=150&amp;amp;DocId=56&quot;&gt;registreer&lt;/a&gt; direct je domeinnaam !!!</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/3273555469665039767/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/3273555469665039767' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3273555469665039767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3273555469665039767'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/03/smallweb-verlaagt-prijzen-voor.html' title='Smallweb verlaagt prijzen voor domeinregistraties'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-7445403593651956881</id><published>2009-03-02T14:45:00.007+01:00</published><updated>2009-03-02T20:27:33.672+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net"/><category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/><category scheme="http://www.blogger.com/atom/ns#" term="RSS"/><title type='text'>Eenvoudig RSS feeds maken in ASP.NET 3.5</title><content type='html'>In ASP.NET 3.5 is het zeer eenvouding om RSS feeds te maken voor je website. Hieronder probeer ik dan ook eenvoudig uit te leggen hoe je dit snel voor elkaar kunt krijgen:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Voeg aan je web project een nieuw item toe door met de rechter muisknop op het project te klikken en &quot;Add/New item&quot; te selecteren&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Selecteer de &quot;Generic Handler&quot; template en geef deze de naam &#39;rss.ashx&#39;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUaFWS0-7JDs99n5Cz6-T5myVauSBoublnzvF7sfKyI4gmEbiTILdoeSo5Kl_ln5XGMhkO5Hpc8j7pPrYOZEKABzkh5q98tsaSKifAPz4r58up_HewM9HaizwCmPlfeF_Wlg5Nl9ToWKJ/s1600-h/screen1.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5308587800638630338&quot; style=&quot;WIDTH: 371px; CURSOR: hand; HEIGHT: 84px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUaFWS0-7JDs99n5Cz6-T5myVauSBoublnzvF7sfKyI4gmEbiTILdoeSo5Kl_ln5XGMhkO5Hpc8j7pPrYOZEKABzkh5q98tsaSKifAPz4r58up_HewM9HaizwCmPlfeF_Wlg5Nl9ToWKJ/s400/screen1.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Het *.ashx bestand met het code-behind klasse bestand (*.cs) wordt gegenereerd&lt;/li&gt;&lt;br /&gt;&lt;li&gt;De klasse implementeert de interface IHttpHandler en de bijbehorende methodes en eigenschappen zijn hierbij reeds aangemaakt.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;We gaan nu de methode &#39;ProcessRequest&#39; aanpassen om een RSS feed in het Response object te schrijven. Verwijder eerst de bestaande voorbeeld code&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyhxsr1eLC907JAlQvlO4LxkRGw9PAxhIN71Bb9PIBitOzDSNuabDPcQQ51JLDtEXeBhf7xGvf4J9TT6iWHB6zguJdT82wMrgFtS9rlEZhPzt6ZjcwB80MPdhc15fske49A2cE0hYSToTv/s1600-h/screen2.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5308588124038775794&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 84px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyhxsr1eLC907JAlQvlO4LxkRGw9PAxhIN71Bb9PIBitOzDSNuabDPcQQ51JLDtEXeBhf7xGvf4J9TT6iWHB6zguJdT82wMrgFtS9rlEZhPzt6ZjcwB80MPdhc15fske49A2cE0hYSToTv/s400/screen2.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Om RSS feeds te genereren hebben we een extra reference in het project nodig, namelijk: &quot;System.ServiceMode.Web&quot;. Klik in het webproject met de rechter muisknop op &#39;References&#39; en selecteer &quot;Add Reference&quot;. Selecteer in de lijs met .Net componenten het betreffende component.&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9e7OMEdg8GTRit8_Xsc9Yzko037UCjvfvw4cMmPVuLYzJQQF8Z0dW-UJBg42AuvuVoleUX_QKN1rMtehKd1Kf54HHBrsgrwYr2_QMTlEbwQQUyZUIpXGMYKHUoYb2_YpCA12tZDLxg-DK/s1600-h/screen3.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5308588276255610258&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 329px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9e7OMEdg8GTRit8_Xsc9Yzko037UCjvfvw4cMmPVuLYzJQQF8Z0dW-UJBg42AuvuVoleUX_QKN1rMtehKd1Kf54HHBrsgrwYr2_QMTlEbwQQUyZUIpXGMYKHUoYb2_YpCA12tZDLxg-DK/s400/screen3.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Maak een instantie van de klasse &#39;SyndicationFeed&#39;:&lt;br /&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;SyndicationFeed feed = new SyndicationFeed(&quot;RSS titel&quot;, &quot;RSS omschrijving&quot;, new Uri(&quot;&lt;/span&gt;&lt;/em&gt;&lt;a href=&quot;http://localhost/&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;http://localhost&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&quot;));&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;Voeg hiervoor de volgende &quot;using directive&quot; (bonvenin de klasse) toe:&lt;br /&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;using System.ServiceModel.Syndication;&lt;/span&gt;&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Voeg (als voorbeeld) twee items aan de RSS feed toe:&lt;br /&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;feed.Items = new List&lt;syndicationitem&gt;&lt;br /&gt;{&lt;br /&gt;new SyndicationItem(&quot;Item 1&quot;, &quot;Het 1e RSS item&quot;, new Uri(&quot;&lt;/span&gt;&lt;/em&gt;&lt;a href=&quot;http://localhost/item1.aspx&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;http://localhost/item1.aspx&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&quot;)),&lt;br /&gt;new SyndicationItem(&quot;Item 2&quot;, &quot;Het 2e RSS item&quot;, new Uri(&quot;&lt;/span&gt;&lt;/em&gt;&lt;a href=&quot;http://localhost/item2.aspx&quot;&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;http://localhost/item2.aspx&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&quot;))&lt;br /&gt;};&lt;/span&gt;&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Schrijf de RSS feed naar het Response object:&lt;br /&gt;&lt;em&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;using (System.IO.StringWriter output = new System.IO.StringWriter())&lt;br /&gt;{&lt;br /&gt;System.Xml.XmlTextWriter writer = new System.Xml.XmlTextWriter(output);&lt;br /&gt;new Rss20FeedFormatter(feed).WriteTo(writer);&lt;br /&gt;context.Response.ContentType = &quot;application/rss+xml&quot;;&lt;br /&gt;context.Response.Write(output.ToString());&lt;br /&gt;}&lt;/span&gt;&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Als je nu rss.ashx opstart in je webproject dan zul je zien dat er netjes een RSS feed wordt &#39;gerendert&#39;.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;In punt 7 zou je natuurlijk een database (of andere databron) uit kunnen lezen om automatisch RSS items toe te voegen aan je feed.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Succes ermee !!!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/7445403593651956881/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/7445403593651956881' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/7445403593651956881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/7445403593651956881'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/03/silverlight-2-diagrammen.html' title='Eenvoudig RSS feeds maken in ASP.NET 3.5'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUaFWS0-7JDs99n5Cz6-T5myVauSBoublnzvF7sfKyI4gmEbiTILdoeSo5Kl_ln5XGMhkO5Hpc8j7pPrYOZEKABzkh5q98tsaSKifAPz4r58up_HewM9HaizwCmPlfeF_Wlg5Nl9ToWKJ/s72-c/screen1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-5678542912734500602</id><published>2009-02-20T08:22:00.006+01:00</published><updated>2009-02-20T09:08:59.415+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="ajaxcontroltoolkit"/><category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="widget"/><title type='text'>Drag&amp;Drop Panels oftewel Widgets in ASP.NET</title><content type='html'>Al enige tijd was ik van plan om &quot;draggable panels&quot; (ook wel widgets genoemd) te ontwikkelen in ASP.NET, zodat ik deze kon gaan gebruiken in een dashboard pagina in de webapplicaties die &lt;a href=&quot;http://www.smallweb.nl/&quot; target=&quot;_blank&quot;&gt;wij&lt;/a&gt; ontwikkelen. Een voorbeeld hiervan zijn de Gadgets in iGoogle:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6xJdKYYW4oJnxVJoTO1ADMnMXRM3hxvBWfjY2wmKtIHhvBBVRy0Zo53GTpO6KB_iB8E-U7Jd42fcQ2E3BX8_2P8XYcucUD4ABYLw1tg8UbkxJ83HazjM89WW6p35t6STQ9B7JpGWlKIxF/s1600-h/iGoogle.png&quot; target=&quot;_blank&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5304777687168686162&quot; style=&quot;WIDTH: 400px; CURSOR: hand; HEIGHT: 317px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6xJdKYYW4oJnxVJoTO1ADMnMXRM3hxvBWfjY2wmKtIHhvBBVRy0Zo53GTpO6KB_iB8E-U7Jd42fcQ2E3BX8_2P8XYcucUD4ABYLw1tg8UbkxJ83HazjM89WW6p35t6STQ9B7JpGWlKIxF/s400/iGoogle.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Natuurlijk heb ik deze techniek niet helemaal zelf ontwikkeld, want er zijn er al genoeg die mij voor zijn geweest... het wiel hoeft immers niet opnieuw uitgevonden te worden. De controls die voor mij het beste in aanmerking kwamen waren de controls die &lt;a href=&quot;http://msmvps.com/blogs/omar/default.aspx&quot; target=&quot;_blank&quot;&gt;Omar AL Zabir&lt;/a&gt; heeft ontwikkeld.&lt;br /&gt;Omar heeft een project ontwikkeld (open source) waarvan je online kan bekijken hoe dit functioneert: &lt;a href=&quot;http://www.dropthings.com/&quot; target=&quot;_blank&quot;&gt;http://www.dropthings.com/&lt;/a&gt;. De sources van dit project kan je &lt;a href=&quot;http://omar.mvps.org/images/CustomDragDrop.zip&quot;&gt;hier&lt;/a&gt; downloaden.&lt;br /&gt;&lt;br /&gt;Het nadeel van dit open source project is de complexiteit die er aanwezig is, vanwege de vele &#39;Widgets&#39; die er al inzitten. Ik het dit project uitgekleed tot een project waar alleen de techniek van de Drag&amp;amp;Drop widgets aanwezig is. Met behulp van dit project kan je veel eenvoudiger een start maken om de Widgets verder te ontwikkelen tot je eigen controls.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Laten we beginnen met een voorbeeld filmpje wat bewijst dat het allemaal ook nog werkt:&lt;br /&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dx3hEWxLQSNj6eLPq1l3Z2Fws2rljgWnVKxQc1GteW-gCusfvHV3J2RZMOfe52hhhp9WJCYcO9I7rFltZRv1w&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Dit project is ontwikkeld in ASP.NET 3.5 SP1 en maakt gebruik van het &lt;a href=&quot;http://www.ajaxcontroltoolkit.com/&quot; target=&quot;_blank&quot;&gt;AjaxControlToolkit&lt;/a&gt;. Het project bestaat uit de volgende onderdelen:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;DragControls folder. Hierin staan de AJAX control extenders die Omar heeft ontwikkeld.&lt;/li&gt;&lt;li&gt;Default pagina. Deze pagina bevat 2 Panel controls welke ieder 2 Widgets bevat. Hierbij heb ik gebruik gemaakt van standaard ASP.NET controls. Het is natuurlijk netter om uiteindelijk de controls die voor de Widgets zijn gebruikt te verwerken tot 1 custom ASP.NET control óf 1 UserControl&lt;/li&gt;&lt;li&gt;Voor elk Panel control waarin Widgets staan is een CustomDragDropExtender toegevoegd aan de pagina. Hierin staat het volgende gedefinieerd:&lt;br /&gt;&lt;em&gt;TargetControlID&lt;/em&gt;: ID van het Panel control welke de Widgets bevat;&lt;br /&gt;&lt;em&gt;DragItemClass&lt;/em&gt;: welke CssClass wordt gebruikt voor het kenmerken van een Widget&lt;br /&gt;&lt;em&gt;DragItemHandleClass&lt;/em&gt;: welke CssClass wordt gebruikt voor het kenmerken van de header van een Widget (dit header element wordt gebruikt om het Widget te Drag&amp;amp;Droppen);&lt;br /&gt;&lt;em&gt;DropCueID&lt;/em&gt;: ID van het control waarin de Widgets in gedropt kunnen worden. Elk Panel wat Widgets kan bevatten heeft een dergelijk Drop control nodig.&lt;br /&gt;&lt;em&gt;OnClientDrop&lt;/em&gt;: hierbij kan een javascript functie aangegeven worden welke uitgevoerd dient te worden, nadat een Widget versleept is&lt;/li&gt;&lt;li&gt;Stylesheet. Deze stylesheet bevat alleen die stijlen die gebruikt worden door de Widget functionaliteit&lt;/li&gt;&lt;li&gt;WidgetHandler.js. Dit javascript bestand bevat de onDropWidget functie welke aangeroepen wordt nadat een Widget versleept is (OnClientDrop)&lt;br /&gt;Deze javascript functie maakt gebruik van de WidgetService om hierin de methode MoveWidget aan te roepen.&lt;/li&gt;&lt;li&gt;WidgetService. Webservice welke door de Default pagina is toegevoegd aan de ASP.NET ScriptManager. Dit zorgt ervoor dat de WebMethodes in deze WebService beschikbaar komen middels een object model in javascript. De webservice functies zijn dan dus vanuit javascript direct aan te roepen.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Ik heb verder geen implementatie toegevoegd voor het daadwerkelijk verplaatsen van een Widget aan de server zijde. De knoppen voor het verwijderen/sluiten van een Widget zijn wel aanwezig, maar ook deze heb ik niet geïmplementeerd.&lt;br /&gt;Het lijkt me juist beter dat jullie deze functionaliteit zelf implementeren en ik de code in dit project niet vervuil met applicatielogica waar jullie niets aan hebben.&lt;/p&gt;&lt;p&gt;De source code kan je &lt;a href=&quot;http://www.smallweb.nl/upload/danny/dragdroppanels.zip&quot;&gt;hier&lt;/a&gt; downloaden.&lt;br /&gt;Succes ermee !!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bronnen:&lt;br /&gt;&lt;a href=&quot;http://www.dropthings.com/&quot; target=&quot;_blank&quot;&gt;http://www.dropthings.com/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://msmvps.com/blogs/omar/archive/2007/03/22/asp-net-ajax-extender-for-multi-column-widget-drag-drop.aspx&quot; target=&quot;_blank&quot;&gt;http://msmvps.com/blogs/omar/archive/2007/03/22/asp-net-ajax-extender-for-multi-column-widget-drag-drop.aspx&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=e78af4c2f4d03fef&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/5678542912734500602/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/5678542912734500602' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/5678542912734500602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/5678542912734500602'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/02/drag-panels-oftewel-widgets-in-aspnet.html' title='Drag&amp;Drop Panels oftewel Widgets in ASP.NET'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6xJdKYYW4oJnxVJoTO1ADMnMXRM3hxvBWfjY2wmKtIHhvBBVRy0Zo53GTpO6KB_iB8E-U7Jd42fcQ2E3BX8_2P8XYcucUD4ABYLw1tg8UbkxJ83HazjM89WW6p35t6STQ9B7JpGWlKIxF/s72-c/iGoogle.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-385700892623728483</id><published>2009-02-10T12:18:00.005+01:00</published><updated>2009-03-09T09:08:36.998+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/><category scheme="http://www.blogger.com/atom/ns#" term="bug"/><category scheme="http://www.blogger.com/atom/ns#" term="reporting"/><category scheme="http://www.blogger.com/atom/ns#" term="sql server"/><title type='text'>Bug in ASP.NET ReportViewer van Microsoft</title><content type='html'>&lt;fieldset&gt;&lt;br /&gt;&lt;legend&gt;Oplossing&lt;/legend&gt;&lt;br /&gt;Vandaag (4 maart 2009) heb ik reactie gekregen op mijn feedback. Microsoft heeft het probleem opgelost in &lt;a href=&quot;http://support.microsoft.com/kb/953752&quot; target=&quot;_blank&quot;&gt;Cumulative update package 9 for SQL Server 2005 Service Pack 2&lt;/a&gt; en &lt;a href=&quot;http://support.microsoft.com/kb/959195/en-us&quot; target=&quot;_blank&quot;&gt;Cumulative update package 1 for SQL Server 2005 Service Pack 3&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ik heb in eerste instantie &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=AE7387C3-348C-4FAA-8AE5-949FDFBE59C4&amp;amp;displaylang=en&quot; target=&quot;_blank&quot;&gt;SQL Server 2005 Service Pack 3&lt;/a&gt; geïnstalleerd. Hierna bleek het probleem al direct opgelost te zijn. Óf de Cumulative update package 1 zit al in SP3 óf de installatie van SP3 lost het probleem zelf al op!&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Update (9 maart 2009)&lt;/i&gt;: helaas heeft de update naar SP3 op de (64 bits) productie server &lt;u&gt;niet&lt;/u&gt; tot hetzelfde resultaat geleidt. Ook de Cumulatieve Update 1 voor SP3 heeft niet geholpen. Microsoft heeft me gewezen op een blog artikel van &lt;a href=&quot;http://blogs.msdn.com/brianhartman/archive/2008/11/05/client-print-fails-to-load-after-microsoft-update-956391.aspx&quot; target=&quot;_blank&quot;&gt;Brian Hartman&lt;/a&gt;. Ik heb alle updates geïnstalleerd die Brian in zijn artikel noemt (behalve de update voor SharePoint, want daar heb ik in mijn project niets mee te maken), maar ook dit heeft niets geholpen. Ik zal dit opnieuw aan Microsoft melden.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Wordt vervolgd...&lt;/i&gt;&lt;br /&gt;&lt;/fieldset&gt; &lt;p&gt;&lt;br /&gt;In het ReportViewer control van Microsoft, waarmee rapporten van SQL Server Reporting in een web applicatie bekeken kunnen worden , zit een bug.&lt;br /&gt;&lt;br /&gt;Indien de beveiligingsupdate voor ActiveX Killbits voor Windows XP (KB956391) is geïnstalleerd op de client computer (in mijn geval Windows XP SP3 met Internet Explorer 7) dan functioneert het printen van een rapport niet meer.&lt;br /&gt;Hierbij volgt dan de volgende foutmelding: &quot;Unable to load client print control&quot;. Wanneer je de betreffende update verwijderd, dan is het probleem weer opgelost.&lt;br /&gt;&lt;br /&gt;Ik heb hiervoor een bug rapport bij Microsoft Connect ingediend. Je kan deze &#39;feedback&#39; &lt;a href=&quot;http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=413241&quot;&gt;hier&lt;/a&gt; volgen.&lt;br /&gt;Ik houd jullie op de hoogte !!!&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/385700892623728483/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/385700892623728483' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/385700892623728483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/385700892623728483'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/02/bug-in-aspnet-reportviewer-van.html' title='Bug in ASP.NET ReportViewer van Microsoft'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-5576641541022160936</id><published>2009-01-19T09:28:00.005+01:00</published><updated>2009-01-24T12:45:06.893+01:00</updated><title type='text'>Fiedelientje</title><content type='html'>&lt;a href=&quot;http://www.fiedelientje.nl/&quot;&gt;&lt;img src=&quot;http://www.fiedelientje.nl/images/logosmall.jpg&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Mijn vrouw is pas geleden een webwinkel begonnen onder de naam &lt;a href=&quot;http://www.fiedelientje.nl/&quot;&gt;Fiedelientje&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Fiedelientje&lt;/strong&gt; is een kinderlifestyle webwinkel voor kleine wereldburgertjes. Houdt u van lieflijk, kleurrijk, stippen en ruitjes en niet van een standaard assortiment dan bent u bij Fiedelientje aan het juiste adres. U vind hier artikelen van verschillende leveranciers, maar ook handgemaakte artikelen van eigen ontwerp.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.smallweb.nl/&quot;&gt;Smallweb&lt;/a&gt; heeft hiervoor de webapplicatie ontwikkeld. Wil je ook een webwinkel beginnen, bel of mail ons dan en wij komen graag onze webwinkel demonstreren.&lt;br /&gt;&lt;br /&gt;Ik zou zeggen: &lt;em&gt;ga snel eens kijken&lt;/em&gt; !!!</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/5576641541022160936/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/5576641541022160936' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/5576641541022160936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/5576641541022160936'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2009/01/fiedelientje.html' title='Fiedelientje'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-3814331392101745377</id><published>2008-11-24T10:21:00.003+01:00</published><updated>2008-11-24T10:43:44.547+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net"/><category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="chart"/><category scheme="http://www.blogger.com/atom/ns#" term="flash"/><title type='text'>ASP.NET control voor FusionChart</title><content type='html'>Op de markt zijn talloze grafiek componenten aanwezig die in ASP.NET webapplicaties geïntegreerd kunnen worden. Persoonlijk zoek ik altijd naar freeware controls, omdat de vraag naar grafieken in een webapplicatie vaak niet van dergelijk belang is dat er (veel) geld voor neergeteld wordt.&lt;br /&gt;&lt;br /&gt;Nu heb ik een oplossing gevonden welke gratis is, zeer dynamisch, flexibel... en het ziet er nog fraai uit ook. &lt;a href=&quot;http://www.fusioncharts.com/free/&quot; target=&quot;_blank&quot;&gt;FusionCharts&lt;/a&gt; biedt een oplossing die op Flash (versie 8) gebaseerd is. Het grote voordeel van Flash is natuurlijk dat het cross-browser en cross-platform is. Het nadeel is dat het altijd op de computer van de gebruiker geïnstalleerd moet zijn om er gebruik van te kunnen maken.&lt;br /&gt;&lt;br /&gt;Om het gebruik van deze functionaliteit te vereenvoudigen heb ik een ASP.NET (3.5) control ontwikkeld, welke de meest gebruikte functionaliteiten toepast. Het control maakt gebruik van Javascript om de Flash elementen op de pagina toe te voegen.&lt;br /&gt;Een Visual Studio 2008 project kan hier gedownload worden. Dit project bevat het ASP.NET control en een testpagina.&lt;br /&gt;&lt;br /&gt;Belangrijke eigenschappen van het control:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;DataSource: het toekennen van data aan het Flash element geschiedt middels XML. Dit control biedt de mogelijkheid om een IEnumberable DataSource toe te kennen. Deze DataSource zal als XML in de pagina worden toegevoegd&lt;/li&gt;&lt;li&gt;DataMemberXAxis: DataMember uit de DataSource die op de X-as gebruikt moet worden&lt;/li&gt;&lt;li&gt;DataMemberYAxis: Lijst met één of meerdere DataMembers die op de Y-as gebruikt moet worden.&lt;br /&gt;Let op: indien er meer dan één DataMember wordt gebruikt, dan dient een correct ChartType toegekent te worden (alle ChartTypes die beginnen met &#39;MS&#39; kunnen hiervoor worden gebruikt)&lt;/li&gt;&lt;li&gt;ChartType: type grafiek die gebruikt moet worden. Elk type maakt gebruik van een ander Flash bestand. Zie de FusionCharts folder in het VS2008 project&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Succes ermee !&lt;/p&gt;&lt;p&gt;Bron(nen):&lt;br /&gt;&lt;a href=&quot;http://www.fusioncharts.com/free/&quot; target=&quot;_blank&quot;&gt;FusionCharts&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.fusioncharts.com/Docs/Index.html&quot; target=&quot;_blank&quot;&gt;FusionCharts Documentatie&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/3814331392101745377/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/3814331392101745377' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3814331392101745377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3814331392101745377'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/11/aspnet-control-voor-fusionchart.html' title='ASP.NET control voor FusionChart'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-3270864030574373962</id><published>2008-11-24T10:01:00.003+01:00</published><updated>2008-11-24T10:06:11.264+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net"/><category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><title type='text'>ASP.NET control voor Google AJAX Search API</title><content type='html'>Google maakt het mogelijk om (redelijk) simpel hun zoekmachine functionaliteit te integreren in je eigen website. Hiervoor kan je gebruik maken van de &lt;a href=&quot;http://code.google.com/apis/ajaxsearch/&quot; target=&quot;_blank&quot;&gt;Google AJAX Search API&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Deze API kan middels Javascript aangeroepen worden en biedt een &lt;a href=&quot;http://nl.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML&quot; target=&quot;_blank&quot;&gt;AJAX&lt;/a&gt; zoekmachine in je eigen website. Om het gebruik van deze functionaliteit te vereenvoudigen heb ik een ASP.NET (3.5) control ontwikkeld, welke de meest gebruikte functionaliteiten van de API toepast.&lt;br /&gt;Een Visual Studio 2008 project kan &lt;a href=&quot;http://www.smallweb.nl/Upload/Danny/AjaxGoogleSearchControl.zip&quot;&gt;hier&lt;/a&gt; gedownload worden. Dit project bevat het ASP.NET control en een testpagina.&lt;br /&gt;&lt;br /&gt;Belangrijke eigenschappen van het control:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GoogleApiKey: deze key kan &lt;a href=&quot;http://code.google.com/apis/ajaxsearch/signup.html&quot; target=&quot;_blank&quot;&gt;hier&lt;/a&gt; worden opgevraagd &lt;/li&gt;&lt;li&gt;SearchDefinitions: dit is de lijst met de types Search die je kan integreren op je website. Zie de Google documentatie voor uitleg hiervan. Standaard is het type WebSearch al aanwezig (zie Constructor) in deze lijst. &lt;/li&gt;&lt;li&gt;MessageForNoResults: standaard wordt geen melding weergegeven indien Google geen zoekresultaten heeft. Middels deze eigenschap kan je toch een melding laten weergeven &lt;/li&gt;&lt;li&gt;NoDefaultCss: standaard voegt Google zelf HTML styles toe aan de Google elementen op je pagina. Wanneer je deze eigenschap op False zet wordt dit niet gedaan en kan je je eigen styles gebruiken (door je juiste class names in je stylesheet op te nemen). &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Succes ermee! &lt;/p&gt;&lt;p&gt;Bron(nen):&lt;br /&gt;&lt;a href=&quot;http://code.google.com/apis/ajaxsearch/&quot; target=&quot;_blank&quot;&gt;Google AJAX Search API&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://code.google.com/apis/ajaxsearch/documentation/&quot; target=&quot;_blank&quot;&gt;Documentatie Google AJAX Search API&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/3270864030574373962/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/3270864030574373962' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3270864030574373962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3270864030574373962'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/11/aspnet-control-voor-google-ajax-search.html' title='ASP.NET control voor Google AJAX Search API'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-6326502608512908692</id><published>2008-10-31T11:09:00.005+01:00</published><updated>2008-10-31T11:31:33.709+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/><title type='text'>Verbergen van Next / Previous controls in ASP.NET WizardControl</title><content type='html'>Vandaag had ik een probleem met het verbergen van de Next / Previous links/buttons van een ASP.NET WizardControl.&lt;br /&gt;&lt;br /&gt;Hierbij liep ik tegen 2 problemen aan:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Middels de standaard methode &lt;em&gt;FindControl&lt;/em&gt; op het WizardControl object kan de betreffende LinkButton niet gevonden worden. Hiervoor het ik zelf een FindControl methode gemaakt, welke hieronder is bijgevoegd&lt;/li&gt;&lt;li&gt;Het aanpassen van de eigenschap &lt;em&gt;[LinkButton].Visible&lt;/em&gt; naar &lt;em&gt;False&lt;/em&gt; blijkt niet te werken. Waarschijnlijk negeert het WizardControl deze eigenscap in de eigen &lt;em&gt;Render&lt;/em&gt; methode. In plaats van de &lt;em&gt;Visible&lt;/em&gt; eigenschap kan je de &lt;em&gt;Style&lt;/em&gt; eigenschap gebruiken:&lt;br /&gt;&lt;em&gt;[LinkButton].Style[&quot;display&quot;] = &quot;none&quot;;&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;De code behorende bij punt 1 (deze methode zoek recursief, binnen een container control, naar het control met het betreffence ID):&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 95%; WHITE-SPACE: nowrap; HEIGHT: 250px; BACKGROUND-COLOR: whitesmoke&quot;&gt;&lt;pre&gt;public static Control FindControl(string controlID, Control container) &lt;br /&gt;{&lt;br /&gt; foreach (Control ctrl in container.Controls) &lt;br /&gt; {&lt;br /&gt;  if (ctrl.ID != null &amp;&amp; ctrl.ID.Equals(controlID))&lt;br /&gt;   return ctrl;&lt;br /&gt;  if (ctrl.HasControls()) &lt;br /&gt;  {&lt;br /&gt;   Control c = FindControl(controlID, ctrl);&lt;br /&gt;   if (c != null) return c;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; return null;&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Een voorbeeld van het verbergen van de Next link op de eerste Wizard Step:&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 95%; WHITE-SPACE: nowrap; HEIGHT: 70px; BACKGROUND-COLOR: whitesmoke&quot;&gt;WebControl = FindControl(&quot;StartNextLinkButton&quot;, this.wizardControl1) as WebControl;&lt;br /&gt;nextLink.Style[&quot;display&quot;] = &quot;none&quot;;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Bronnen: &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/fs0za4w6.aspx&quot;&gt;Microsoft MSDN&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/6326502608512908692/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/6326502608512908692' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/6326502608512908692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/6326502608512908692'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/10/verbergen-van-next-previous-controls-in.html' title='Verbergen van Next / Previous controls in ASP.NET WizardControl'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-6159403371561950065</id><published>2008-09-23T14:47:00.008+02:00</published><updated>2008-09-23T15:45:45.902+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/><category scheme="http://www.blogger.com/atom/ns#" term="dynamic data"/><category scheme="http://www.blogger.com/atom/ns#" term="LINQ"/><category scheme="http://www.blogger.com/atom/ns#" term="sql server"/><title type='text'>Dynamic Data integreren in bestaande web applicatie</title><content type='html'>Één na de nieuwe features in Visual Studio 2008 SP1 is de Dynamic Data Web Application. Een heel handige feature die het mogelijk maakt om je databronnen middels een website te bekijken of te muteren.&lt;br /&gt;&lt;br /&gt;Als je een nieuw project in Visual Studio 2008 aanmaakt bestaat de Dynamic Data Web Application uit één van de vele mogelijkheden die Visual Studio tegenwoordig biedt. Indien je deze keuze maakt wordt een complete web applicatie voor je gegenereerd en hoef je eigenlijk alleen maar een &#39;LINQ to SQL classes&#39; diagram toe te voegen; de benodigde tabellen op het diagram te slepen en de gecreëerde DataContext toe te voegen aan de MetaModel instantie in global.asax.cs en je bent klaar.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Wat nu als je deze functionaliteit wilt integreren in een bestaande web applicatie?&lt;/u&gt;&lt;br /&gt;Ik heb wat zitten vogelen met deze functionaliteit en heb deze zo aangepast dat het relatief eenvoudig is om te integreren in een bestaande web applicatie. Hiervoor moet je het volgende doen:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download &lt;a href=&quot;http://www.smallweb.nl/Upload/Danny/DynamicData.zip&quot;&gt;dit zip bestand&lt;/a&gt; en importeer de folder uit de zip in je web applicatie. De zip bevat een &#39;LINQ to SQL classes&#39; diagram welke als voorbeeld is toegevoegd. Deze kan gewoon verwijderd worden!&lt;/li&gt;&lt;li&gt;Voeg de volgende references toe aan je project:&lt;br /&gt;&lt;em&gt;System.Web.DynamicData&lt;/em&gt;&lt;br /&gt;&lt;em&gt;System.Web.Routing&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Voeg een &#39;LINQ to SQL classes&#39; diagram toe aan je project en sleep de benodigde tabellen op het diagram&lt;/li&gt;&lt;li&gt;Registreer de DataContext, van bovenstaand diagram, middels de model.RegisterContext functie van de RegisterRoutes methode in de DynamicDataModule klasse&lt;/li&gt;&lt;li&gt;Wijzig de DynamicDataApplicationName constante in de DynamicDataMaster klasse naar je eigen applicatienaam&lt;br /&gt;&lt;br /&gt;== Web.config aanpassingen ==&lt;/li&gt;&lt;li&gt;Voeg in de &lt;em&gt;&lt;compilation&gt;&lt;/em&gt;sectie de volgende assemblies toe:&lt;pre&gt;&amp;lt;add assembly=&quot;System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot;/&amp;gt;&lt;br /&gt;&amp;lt;add assembly=&quot;System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot;/&amp;gt;&lt;br /&gt;&amp;lt;add assembly=&quot;System.ComponentModel.DataAnnotations, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot;/&amp;gt;&lt;br /&gt;&amp;lt;add assembly=&quot;System.Web.DynamicData, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot;/&amp;gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Voeg in de &lt;em&gt;&lt;pages&gt;/&lt;controls&gt;&lt;/em&gt; sectie de volgende tag prefix toe:&lt;pre&gt;&amp;lt;add tagPrefix=&quot;asp&quot; namespace=&quot;System.Web.DynamicData&quot; assembly=&quot;System.Web.DynamicData, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot;/&amp;gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Activeer ASP.NET Routing&lt;br /&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IIS5/IIS6&lt;/strong&gt; : voeg de module toe aan de &lt;em&gt;httpModules &lt;/em&gt;sectie:&lt;br /&gt;&lt;pre&gt;&amp;lt;add name=&quot;UrlRoutingModule&quot; type=&quot;System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot; /&amp;gt;&lt;/pre&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IIS7&lt;/strong&gt; &lt;strong&gt;- deel 1&lt;/strong&gt;: voeg de module toe aan de &lt;em&gt;&lt;system.webserver&gt;/&lt;modules&gt;&lt;/em&gt; sectie:&lt;pre&gt;&amp;lt;remove name=&quot;UrlRoutingModule&quot; /&amp;gt;&lt;br /&gt;&amp;lt;add name=&quot;UrlRoutingModule&quot; type=&quot;System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot; /&amp;gt;&lt;/pre&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IIS7 - deel 2&lt;/strong&gt; : voeg de handler toe aan de &lt;em&gt;&lt;system.webserver&gt;/&lt;handlers&gt;&lt;/em&gt; sectie:&lt;pre&gt;&amp;lt;add name=&quot;UrlRoutingHandler&quot; preCondition=&quot;integratedMode&quot; verb=&quot;*&quot; path=&quot;UrlRouting.axd&quot; type=&quot;System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&quot; /&amp;gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Voeg de DynamicDataModule aan de modules sectie toe (wijzig [WebApplitionName] in de naam van je assembly):&lt;br /&gt;&lt;pre&gt;&amp;lt;add name=&quot;DynamicDataModule&quot; type=&quot;DynamicDataModule, [WebApplitionName]&quot;/&amp;gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Als je nu de pagina DynamicData\Default.aspx opstart zou de Dynamic Data feature moeten werken.&lt;/p&gt;&lt;p&gt;Succes ermee !!!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/6159403371561950065/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/6159403371561950065' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/6159403371561950065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/6159403371561950065'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/09/dynamic-data-integreren-in-bestaande.html' title='Dynamic Data integreren in bestaande web applicatie'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-5931986335784768757</id><published>2008-09-04T07:54:00.003+02:00</published><updated>2008-09-04T08:13:16.620+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="browser"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><title type='text'>Google Chrome foutmelding &quot;The application failed to initialize properly (0xc0000005)”</title><content type='html'>Ik heb net &lt;a href=&quot;http://www.google.nl/chrome&quot;&gt;Google Chrome&lt;/a&gt; gedownload en geïnstalleerd. Helaas kreeg ik bij het opstarten meteen de volgende foutmelding: &quot;The application failed to initialize properly (0xc0000005)”.&lt;br /&gt;&lt;br /&gt;Er zijn twee mogelijke oplossingen voor dit probleem:&lt;br /&gt;1. Pas de registry aan:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Start de registry editor door op Start \ Uitvoeren de klikken en regedit.exe gevolgd door ENTER in te toetsen.&lt;/li&gt;&lt;li&gt;Ga in de boomstructuur HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysPlant.&lt;br /&gt;Indien deze sleutel niet aanwezig is, dient deze aangemaakt te worden.&lt;/li&gt;&lt;li&gt;Open de &#39;Start&#39; waarde of voeg deze toe (type is DWORD)&lt;/li&gt;&lt;li&gt;Wijzig de waardegegevens van de &#39;Start&#39; waarde naar 4 om drivers uit te schakelen&lt;/li&gt;&lt;li&gt;Herstart de computer&lt;/li&gt;&lt;/ul&gt;2. Start Google Chrome met het &quot;--no-sandbox&quot; argument.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Klik met de rechter muisknop op de Google Chrome snelkoppeling&lt;/li&gt;&lt;li&gt;Voeg de tekst &quot;–no-sandbox&quot; (zonder de aanhalingstekens) toe aan het Doel veld.&lt;/li&gt;&lt;/ul&gt;In mijn geval werkte oplossing 1 al en was oplossing 2 niet meer noodzakelijk.&lt;br /&gt;&lt;br /&gt;Mijn ervaringen met Google Chrome zijn tot nu toe erg goed. Ik heb nog nooit een webbrowser gehad die zo snel opstartte en zo snel naar een website surfte.</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/5931986335784768757/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/5931986335784768757' title='3 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/5931986335784768757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/5931986335784768757'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/09/google-chrome-foutmelding-application.html' title='Google Chrome foutmelding &quot;The application failed to initialize properly (0xc0000005)”'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-675575315384999782</id><published>2008-07-01T12:01:00.009+02:00</published><updated>2008-07-02T10:33:03.688+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/><title type='text'>Één ItemTemplate voor Item en AlternatingItem in ASP.NET ListView control</title><content type='html'>In het ListView control in ASP.NET 3.x is het mogelijk om een ItemTemplate én een AlternatingItemTemplate te definiëren. Veelal wordt dit gebruikt om alleen maar een andere Style of CssClass te gebruiken voor het alternating item, zodat een mooier (subjectief natuurlijk ;-)) grid wordt gecreëerd.&lt;br /&gt;&lt;br /&gt;In plaats van twee (bijna) identieke item templates te creëren is er een eenvoudigere oplossing mogelijk:&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 95%; WHITE-SPACE: nowrap; HEIGHT: 250px; BACKGROUND-COLOR: whitesmoke&quot;&gt;*** ASPX ***&lt;br /&gt;&amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;tr class=&amp;quot;&amp;lt;%# GetListItemCssName(Container) %&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;td&amp;gt;...&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*** CS ***&lt;br /&gt;.protected string GetListItemCssName(object container)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (container is ListViewDataItem)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (((ListViewDataItem)container).DisplayIndex % 2 == 0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return &amp;quot;Item&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return &amp;quot;AlternatingItem&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return null;&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Zoals je ziet maak ik maar één template aan, nl. het &lt;em&gt;ItemTemplate&lt;/em&gt;. Daar waar de variatie tussen een item en alternating item toegepast moet worden (in dit geval de &lt;em&gt;class&lt;/em&gt; attribuut van de tabel regel) roep ik een methode in mijn code-behind aan.&lt;br /&gt;De methode in de code-behind bepaalt aan de hand van de &lt;em&gt;DisplayIndex&lt;/em&gt; of het om een even of oneven regel gaat en geeft de juiste class name terug.</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/675575315384999782/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/675575315384999782' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/675575315384999782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/675575315384999782'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/07/n-itemteplate-voor-item-en.html' title='Één ItemTemplate voor Item en AlternatingItem in ASP.NET ListView control'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-8383489362342232942</id><published>2008-06-03T08:03:00.004+02:00</published><updated>2008-06-03T08:09:22.865+02:00</updated><title type='text'>Silverlight 2 diagrammen</title><content type='html'>Momenteel ben ik veel bezig met het ontwikkelen in Silverlight 2. Toevallig kwam ik onderstaande diagrammen tegen die wel erg handig zijn voor de beginnende Silverlight ontwikkelaar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVb5wpwQTwFlnLQGVmw8uXQsB8jz5vgsjcPdImte93jj4-w4C_Zf6_yLpOVRn3LydHFhvQOqrnp61VJUVIHvXb9TrmLH6KguGOFfpjtc0-pXCTed3-gtxQ-qDPS1xJwjz679yv1A_86OPT/s1600-h/Silverlight2PosterMIX08.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5207532353343167234&quot; style=&quot;CURSOR: hand&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVb5wpwQTwFlnLQGVmw8uXQsB8jz5vgsjcPdImte93jj4-w4C_Zf6_yLpOVRn3LydHFhvQOqrnp61VJUVIHvXb9TrmLH6KguGOFfpjtc0-pXCTed3-gtxQ-qDPS1xJwjz679yv1A_86OPT/s320/Silverlight2PosterMIX08.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Download het originele bestand &lt;a href=&quot;http://brad_abrams.members.winisp.net/Projects/Mix08SL2Poster/Silverlight2PosterMIX08.png&quot;&gt;hier&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja4QosVjjNFc_-BvR9Kb4RsLQxK4KDwytJ_xIpGmNDZU40-NC19BlBnpPpycBsQiqz0RAQoRpOGjj7qCAj6QjwHBJDZxv7Wp1jwqY91a00EdGMmtWZtIu8YrklPDMX6RZ6F_brGfL4As2n/s1600-h/ControlContract.png&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5207532361933101842&quot; style=&quot;CURSOR: hand&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja4QosVjjNFc_-BvR9Kb4RsLQxK4KDwytJ_xIpGmNDZU40-NC19BlBnpPpycBsQiqz0RAQoRpOGjj7qCAj6QjwHBJDZxv7Wp1jwqY91a00EdGMmtWZtIu8YrklPDMX6RZ6F_brGfL4As2n/s320/ControlContract.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Download het originele bestand &lt;a href=&quot;http://www.cynergysystems.com/blogs/blogs/jose.fajardo/downloads/ControlContract.png&quot;&gt;hier&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;br /&gt;Bron:&lt;br /&gt;&lt;a href=&quot;http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/03/17/10246.aspx&quot;&gt;Mike Taulty&#39;s Blog&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/8383489362342232942/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/8383489362342232942' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/8383489362342232942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/8383489362342232942'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/06/silverlight-2-diagrammen.html' title='Silverlight 2 diagrammen'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVb5wpwQTwFlnLQGVmw8uXQsB8jz5vgsjcPdImte93jj4-w4C_Zf6_yLpOVRn3LydHFhvQOqrnp61VJUVIHvXb9TrmLH6KguGOFfpjtc0-pXCTed3-gtxQ-qDPS1xJwjz679yv1A_86OPT/s72-c/Silverlight2PosterMIX08.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-7186941770090828268</id><published>2008-05-09T08:03:00.003+02:00</published><updated>2008-09-22T08:05:44.248+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MCE"/><category scheme="http://www.blogger.com/atom/ns#" term="Media Center"/><category scheme="http://www.blogger.com/atom/ns#" term="PSV"/><category scheme="http://www.blogger.com/atom/ns#" term="RSS"/><category scheme="http://www.blogger.com/atom/ns#" term="VMC"/><title type='text'>PSV.tv op Windows Media Center</title><content type='html'>Als voetbalfan leek het me wel leuk op de beelden van PSV.tv, Ajax.tv, Feyenoord.tv, enz. via mijn Windows Media Center te kunnen bekijken. Ik dacht: zal ik daar een apart programma voor ontwikkelen of probeer ik gebruik te maken van wat er al is? Meestal probeer ik voor de 2e optie te gaan, wat nu ook het geval was.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Wat er al is:&lt;/strong&gt; de Media Center RSS Reader van &lt;a href=&quot;http://www.oabsoftware.nl/&quot;&gt;OABsoftware&lt;/a&gt; voor &lt;a href=&quot;http://mcerssreader.oabsoftware.nl/index.php&quot;&gt;Windows XP&lt;/a&gt; en &lt;a href=&quot;http://vistamcrssreader.oabsoftware.nl/index.php&quot;&gt;Vista&lt;/a&gt;. Deze software is gratis te gebruiken. Alleen moet het wel geactiveerd worden, wat je kan doen door je te registreren.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Wat moet ik dan nog ontwikkelen:&lt;/strong&gt; een programmaatje om intelligent de HTML van deze TV sites te verwerken tot RSS feeds, waar deze software goed mee om kan gaan. En dit is gelukt... helaas niet voor Feyenoord.tv want daar moet je je aanmelden om de beelden te mogen bekijken.&lt;br /&gt;Iedereen die gebruik wil maken van mijn RSS feeds kan deze vinden op:&lt;br /&gt;- &lt;a href=&quot;http://html2rss.smallweb.nl/rss.ashx?type=PsvTv&quot;&gt;PSV.tv&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;http://html2rss.smallweb.nl/rss.ashx?type=AjaxTv&quot;&gt;Ajax.tv&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Als je nog meer ideeën hebt voor het verwerken van dit soort webpagina&#39;s tot RSS feeds, dan laat je maar een berichtje achter op deze blog.</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/7186941770090828268/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/7186941770090828268' title='2 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/7186941770090828268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/7186941770090828268'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/05/psvtv-op-windows-media-center.html' title='PSV.tv op Windows Media Center'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-3510861353462349869</id><published>2008-05-08T10:12:00.006+02:00</published><updated>2008-05-08T11:04:40.463+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".net"/><category scheme="http://www.blogger.com/atom/ns#" term="Active Directory"/><category scheme="http://www.blogger.com/atom/ns#" term="LINQ"/><title type='text'>Active Directory benaderen in .Net 3.5</title><content type='html'>Microsoft heeft in het .Net framework versie 3.5 de assembly System.DirectoryServices.AccountManagement toegevoegd, welke mogelijkheden biedt om redelijk eenvoudig de Active Directory (of de accountdatabase (SAM) op een lokale PC) te benaderen en te wijzigingen. In deze blog richt ik me alleen op de Active Directory (AD).&lt;br /&gt;&lt;br /&gt;Je maakt hierbij gebruik van de PrincipalContext klasse. Hieronder een voorbeeld hoe deze klasse te instanciëren:&lt;br /&gt;&lt;em&gt;PrincipalContext ctx = new PrincipalContext(ContextType.Domain, &quot;MijnDomein&quot;);&lt;/em&gt;&lt;br /&gt;Hierbij word een &#39;context&#39; gecreëerd wat de basis is voor alle acties die in de AD uitgevoerd zullen gaan worden. Er wordt daardwerkelijk een verbinding met de directory (&#39;MijnDomein&#39;) gemaakt.&lt;br /&gt;&lt;br /&gt;Hierna kan je eenvoudig een User of Group ophalen en eventueel wijzigen. De basis klasse die hiervoor gebruikt wordt is de Principal klasse. Hieronder een voorbeeld hoe je een User of Group ophaalt:&lt;br /&gt;&lt;em&gt;UserPrincipal user = UserPrincipal.FindByIdentity(ctx, &quot;Danny&quot;);&lt;/em&gt;&lt;br /&gt;en&lt;br /&gt;&lt;em&gt;GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, &quot;Administrators&quot;);&lt;/em&gt;&lt;br /&gt;Met behulp van de Save methode kunnen wijzigingen op de principals doorgevoerd worden.&lt;br /&gt;&lt;br /&gt;Een gebruiker kan ook gevalideerd worden (op bestaandheid én op correct wachtwoord). De ValidateCredentials(string userName, string password) methode van de PrincipalContext klasse kan hiervoor gebruikt worden.&lt;br /&gt;&lt;br /&gt;Dankzij de PrincipalSearcher klasse en LINQ is het mogelijk ook relatief eenvoudig te zoeken naar Members (Users en Groups) in de Active Directory. In het voorbeeld hieronder wordt gezocht naar alle Users, welke de voornaam &#39;Danny&#39; hebben:&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 95%; WHITE-SPACE: nowrap; HEIGHT: 250px; BACKGROUND-COLOR: whitesmoke&quot;&gt;&lt;pre&gt;//Creëer de context&lt;br /&gt;PrincipalContext ctx = new PrincipalContext(ContextType.Domain, &quot;MijnDomein&quot;);&lt;br /&gt;&lt;br /&gt;//Creëer een UserPrincipal om te gebruiken voor de Query&lt;br /&gt;UserPrincipal u = new UserPrincipal(ctx);&lt;br /&gt;//Zet de eigenschappen om naar te zoeken&lt;br /&gt;u.GivenName = &quot;Danny&quot;;&lt;br /&gt;&lt;br /&gt;//Creëer de PrincipalSearcher om mee te zoeken&lt;br /&gt;PrincipalSearcher ps = new PrincipalSearcher(u);&lt;br /&gt;// Voer de Query uit&lt;br /&gt;PrincipalSearchResult&lt;principal&gt; results = ps.FindAll();&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;De FindAll methode in de PrincipalSearcher klasse geeft een PrincipalSearchResult terug, welke de mogelijkheid biedt om met behulp van LINQ queries op het resultaat uit te voeren.&lt;br /&gt;&lt;br /&gt;Ik heb zelf wat onderzoek gedaan naar de System.DirectoryServices.AccountManagement namespace, omdat ik een lijst met gebruikers op wil vragen uit een specifieke groep in de AD. De standaard methodieken hiervoor bieden helaas alleen de mogelijkheid om de gebruikers die in de groep zelf zitten te bepalen, maar niet om recursief (groepen in groepen) te zoeken naar de gebruikers. Hieronder de code die ik heb ontwikkelt, welke dit wel mogelijk maakt:&lt;br /&gt;&lt;div style=&quot;FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 95%; WHITE-SPACE: nowrap; HEIGHT: 250px; BACKGROUND-COLOR: whitesmoke&quot;&gt;&lt;pre&gt;public static List&lt;principal&gt; GetGroupUsers(string domainName, string groupName, bool recursive)&lt;br /&gt;{&lt;br /&gt;    //Creëer de context&lt;br /&gt;    PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domainName);&lt;br /&gt;    //Haal de AD Group op&lt;br /&gt;    using (GroupPrincipal groupPrincipal = GroupPrincipal.FindByIdentity(ctx, groupName))&lt;br /&gt;    {&lt;br /&gt;        //Loop door de Members om de Users te bepalen&lt;br /&gt;        List&lt;principal&gt; result = new List&lt;principal&gt;();&lt;br /&gt;        foreach (Principal principal in groupPrincipal.Members)&lt;br /&gt;        {&lt;br /&gt;            if (principal is UserPrincipal)&lt;br /&gt;                result.Add(principal);&lt;br /&gt;        }&lt;br /&gt;        //Loop door de Members om de Groups recursief te benaderen&lt;br /&gt;        if (recursive)&lt;br /&gt;        {&lt;br /&gt;            foreach (Principal principal in groupPrincipal.Members)&lt;br /&gt;            {&lt;br /&gt;                //Controleer of de member een Group is&lt;br /&gt;                if (principal is GroupPrincipal)&lt;br /&gt;                {&lt;br /&gt;                    //Roep deze methode aan, zodat de recursie ontstaat&lt;br /&gt;                    foreach (Principal p in GetGroupUsers(domainName, principal.Name, recursive))&lt;br /&gt;                    {&lt;br /&gt;                        //geen dubbele Users in de lijst&lt;br /&gt;                        if (!result.Contains(p))&lt;br /&gt;                            result.Add(p);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        return result;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bronnen:&lt;br /&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx&quot;&gt;Microsoft MSDN&lt;/a&gt;&lt;br /&gt;Boeken:&lt;br /&gt;&lt;a href=&quot;http://www.bookpool.com/sm/0321350170&quot;&gt;The .NET Developer&#39;s Guide to Directory Services Programming&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/3510861353462349869/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/3510861353462349869' title='1 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3510861353462349869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/3510861353462349869'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/05/active-directory-benaderen-in-net-35.html' title='Active Directory benaderen in .Net 3.5'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-801309739688765633.post-1931077407296806645</id><published>2008-04-21T08:17:00.006+02:00</published><updated>2008-05-14T11:06:13.803+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c#"/><category scheme="http://www.blogger.com/atom/ns#" term="visual studio"/><title type='text'>Onoplosbaar probleem in Visual Studio 2008 (?)</title><content type='html'>&lt;em&gt;Onderstaand probleem is opgelost met de hulp van Microsoft. Via Microsoft Connect heb ik een feedback ingelegd en daarin is het probleem opgelost. Hiervoor dien je het volgende te doen:&lt;/em&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;em&gt;Open de Visual Studio 2008 Command Prompt&lt;/em&gt; &lt;/li&gt;&lt;li&gt;&lt;em&gt;Voer het volgende commando uit: devenv.exe /ResetSkipPkgs&lt;/em&gt; &lt;/li&gt;&lt;li&gt;&lt;em&gt;Het probleem zou nu opgelost moeten zijn. Hierna kan Visual Studio weer via de normale weg opgestart worden&lt;/em&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;Momenteel heb ik een probleem in Microsoft Visual Studio 2008 dat ik niet opgelost krijg. De enige oplossing die ik nu nog zie is een herinstallatie van mijn PC. Dus als iemand nog ideeën heeft dan hoor ik ze graag !!!&lt;br /&gt;&lt;br /&gt;Het probleem wat ik heb treedt op bij het aanmaken van een nieuw C# project of het openen van een bestaand C# project in Visual Studio 2008. Hierbij geeft VS2008 de volgende foutmelding terug en opent het C# project niet:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg72EYQ509X9-9H2CV0dxhQcBCZnpL4smmKoLqzQqdzBeljr2LMx7aOqgEVptM_EQHfpfM1u1QxFETElPwjRz8n323alXOPxn_elvTHi3wmEPLz0kCt6GHfF6LJpxMrQDNtMYST5d5JcX_t/s1600-h/VS2008Problem1.jpg&quot;&gt;&lt;/a&gt;&lt;em&gt;Project &#39;Business.Facade&#39; could not be opened because the Microsoft Visual C# 2008 compiler could not be created. QueryService for &#39;{7D960B16-7AF8-11D0-8E5E-00A0C911005A}&#39; failed.&lt;/em&gt;&lt;br /&gt;Bij een bestaand project ziet (een deel van) de Solution Explorer in VS2008 er als volgt uit:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnuDQGAujeBP7nz9rPTDQSP-vxlsgxnr-vZqE8hi-opLZJwBnbmFENROVj3cVg_OHULm4FLuLq_B3_STsFy6rp3vRoRBc1T_3uHD5sAHMT8p0GhlE2lrbbKIt2hF-mLF_TWshLLLLfgp0C/s1600-h/VS2008Problem2.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191580417268655810&quot; style=&quot;CURSOR: hand&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnuDQGAujeBP7nz9rPTDQSP-vxlsgxnr-vZqE8hi-opLZJwBnbmFENROVj3cVg_OHULm4FLuLq_B3_STsFy6rp3vRoRBc1T_3uHD5sAHMT8p0GhlE2lrbbKIt2hF-mLF_TWshLLLLfgp0C/s320/VS2008Problem2.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nadat ik met mijn rechtermuisknop op een project klik en de optie &quot;Reload Project&quot; selecteer, krijg in de volgende foutmelding:&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNMvK-AZyhBeix2KpoXDSw_Le7zV9TIUgQ4VmZro2-S-9SveBYE7TPE4QEJZGMKEptYj6uFXcnrAF2H6tdVEJdFVyrCsSo5SAFDqDdTtkAhChHf6t7ZxAVUY-lZGoC0HX1WCImQSlSqxor/s1600-h/VS2008Problem3.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5191580417268655826&quot; style=&quot;CURSOR: hand&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNMvK-AZyhBeix2KpoXDSw_Le7zV9TIUgQ4VmZro2-S-9SveBYE7TPE4QEJZGMKEptYj6uFXcnrAF2H6tdVEJdFVyrCsSo5SAFDqDdTtkAhChHf6t7ZxAVUY-lZGoC0HX1WCImQSlSqxor/s320/VS2008Problem3.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dit probleem treedt alleen op bij C# projecten (dus bijvoorbeeld niet bij Visual Basic projecten) en de geselecteerde versie van het .Net Framework (2.0, 3.0 of 3.5) maakt in dit geval niets uit.&lt;br /&gt;&lt;br /&gt;Ik heb een &#39;Repair&#39; van de VS2008 setup uitgevoerd. Hierna heb ik VS2008 compleet verwijderd en opnieuw geïnstalleerd, maar dit gaf allemaal geen resultaat.&lt;br /&gt;Als iemand nog ideeën heeft, dan graag reageren op deze blog !!</content><link rel='replies' type='application/atom+xml' href='http://smallwebdanny.blogspot.com/feeds/1931077407296806645/comments/default' title='Reacties posten'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/801309739688765633/1931077407296806645' title='3 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/1931077407296806645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/801309739688765633/posts/default/1931077407296806645'/><link rel='alternate' type='text/html' href='http://smallwebdanny.blogspot.com/2008/04/onoplosbaar-probleem-in-visual-studio.html' title='Onoplosbaar probleem in Visual Studio 2008 (?)'/><author><name>Danny Scheelings</name><uri>http://www.blogger.com/profile/15010402773802405279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif_cn3z6qPxHcA5IVWp-DUPHXue91AlbMA5JiaHLJI7SrB4JXW8xidgYQhWZ2bj4nP7KEVTKXOTmt8Q55V7EDhWGk-dQi2JbZuu5DEN01E4UBOplYQ61hBF40tj-ZCANI/s1600-r/60ac803090fe5b97f62a93c088502495?s=80'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnuDQGAujeBP7nz9rPTDQSP-vxlsgxnr-vZqE8hi-opLZJwBnbmFENROVj3cVg_OHULm4FLuLq_B3_STsFy6rp3vRoRBc1T_3uHD5sAHMT8p0GhlE2lrbbKIt2hF-mLF_TWshLLLLfgp0C/s72-c/VS2008Problem2.jpg" height="72" width="72"/><thr:total>3</thr:total></entry></feed>