<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Kris' blog</title>
    <link>http://blog.krisvandermast.com/</link>
    <description />
    <language>en-us</language>
    <copyright>Kris van der Mast</copyright>
    <lastBuildDate>Tue, 30 Jun 2009 19:18:57 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>info@krisvandermast.com</managingEditor>
    <webMaster>info@krisvandermast.com</webMaster>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=d2588669-1dd8-4fce-b337-f9febc3226cd</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,d2588669-1dd8-4fce-b337-f9febc3226cd.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,d2588669-1dd8-4fce-b337-f9febc3226cd.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=d2588669-1dd8-4fce-b337-f9febc3226cd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Strange but true but this is a question that I notice a lot on <a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;url=http%3a%2f%2fforums.asp.net%2f" target="_blank">forums.asp.net</a>.
Normally the latest and most up to date version can be found at <a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;url=http%3a%2f%2fajaxcontroltoolkit.codeplex.com%2fRelease%2fProjectReleases.aspx%3fReleaseId%3d27326" target="_blank">http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27326</a> like
I described in one of my <a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;url=http%3a%2f%2fblog.krisvandermast.com%2fNewVersionOfTheASPNETAJAXControlToolkit.aspx" target="_blank">former
blog posts</a>. 
</p>
        <p>
How great <a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;url=http%3a%2f%2fwww.codeplex.com%2f" target="_blank">Codeplex</a> may
be it seems that it’s difficult for a lot of people to find the correct version that
targets ASP.NET 2.0. If you’re one of these people whose looking for it then navigate
to this url: <a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;url=http%3a%2f%2fwww.codeplex.com%2fAjaxControlToolkit%2fRelease%2fProjectReleases.aspx%3fReleaseId%3d11121" target="_blank">http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=11121</a>.
As you can see there haven’t been updates out anymore for .NET 2.0 since February
29th 2008.
</p>
        <p>
Update: apparently I already blogged about this in the past: <a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;url=http%3a%2f%2fblog.krisvandermast.com%2fASPNETAJAXControlToolkitOnlyFor35Anymore.aspx" target="_blank">ASP.NET
AJAX Control Toolkit only for 3.5 anymore?</a> Seems to me like still not a lot of
people can find it.
</p>
        <p>
Grz, Kris.
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd" />
      </body>
      <title>Where to download the AJAX Control toolkit that targets .NET 2.0?</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,d2588669-1dd8-4fce-b337-f9febc3226cd.aspx</guid>
      <link>http://blog.krisvandermast.com/WhereToDownloadTheAJAXControlToolkitThatTargetsNET20.aspx</link>
      <pubDate>Tue, 30 Jun 2009 19:18:57 GMT</pubDate>
      <description>&lt;p&gt;
Strange but true but this is a question that I notice a lot on &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;amp;url=http%3a%2f%2fforums.asp.net%2f" target="_blank"&gt;forums.asp.net&lt;/a&gt;.
Normally the latest and most up to date version can be found at &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;amp;url=http%3a%2f%2fajaxcontroltoolkit.codeplex.com%2fRelease%2fProjectReleases.aspx%3fReleaseId%3d27326" target="_blank"&gt;http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27326&lt;/a&gt; like
I described in one of my &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;amp;url=http%3a%2f%2fblog.krisvandermast.com%2fNewVersionOfTheASPNETAJAXControlToolkit.aspx" target="_blank"&gt;former
blog posts&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
How great &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;amp;url=http%3a%2f%2fwww.codeplex.com%2f" target="_blank"&gt;Codeplex&lt;/a&gt; may
be it seems that it’s difficult for a lot of people to find the correct version that
targets ASP.NET 2.0. If you’re one of these people whose looking for it then navigate
to this url: &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;amp;url=http%3a%2f%2fwww.codeplex.com%2fAjaxControlToolkit%2fRelease%2fProjectReleases.aspx%3fReleaseId%3d11121" target="_blank"&gt;http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=11121&lt;/a&gt;.
As you can see there haven’t been updates out anymore for .NET 2.0 since February
29th 2008.
&lt;/p&gt;
&lt;p&gt;
Update: apparently I already blogged about this in the past: &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd&amp;amp;url=http%3a%2f%2fblog.krisvandermast.com%2fASPNETAJAXControlToolkitOnlyFor35Anymore.aspx" target="_blank"&gt;ASP.NET
AJAX Control Toolkit only for 3.5 anymore?&lt;/a&gt; Seems to me like still not a lot of
people can find it.
&lt;/p&gt;
&lt;p&gt;
Grz, Kris.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=d2588669-1dd8-4fce-b337-f9febc3226cd" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,d2588669-1dd8-4fce-b337-f9febc3226cd.aspx</comments>
      <category>AJAX Control Toolkit</category>
    </item>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’ve seen questions about this control over and over again on the forums and decided
to write something about it. The most common questions seem to be these:
</p>
        <p>
          <strong>1) How to show the modalpopup from codebehind?</strong>
        </p>
        <p>
Quite an easy one. The control itself exposes a Show method. This can be called during
a postback for example to show some informative message or to provide a fill in form
for an enduser. The following code snippet show how to do it:
</p>
        <pre class="brush: xml;">e Language="C#" AutoEventWireup="true" CodeBehind="ModalpopupShowFromCodeBehind.aspx.cs" Inherits="WebApplication35Tech.ModalPopupTesting.ModalpopupShowFromCodeBehind" %&gt;
&lt;%@ Register TagPrefix="act" Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" %&gt;

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml" &gt;
&lt;head runat="server"&gt;
    &lt;title&gt;Show a modalpopupextender from codebehind&lt;/title&gt;
    &lt;style type="text/css"&gt;

    .modalBackground {
        background-color:Gray;
        filter:alpha(opacity=70);
        opacity:0.7;
    }

    .modalPopup {
        background-color:#ffffdd;
        border-width:3px;
        border-style:solid;
        border-color:Gray;
        padding:3px;
        width:250px;
    }

    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;form id="form1" runat="server"&gt;
    &lt;div&gt;
        &lt;asp:ScriptManager ID="Scriptmanager1" runat="server" /&gt;
        
        &lt;asp:Panel ID="pnlOverlay" style="display:none;" runat="server" CssClass="modalPopup"&gt;
            Some informative message: Hello world!
        &lt;/asp:Panel&gt;
        
        &lt;asp:Button ID="Button1" Text="Click me" runat="server" 
            onclick="Button1_Click" /&gt;
        
        &lt;act:ModalPopupExtender runat="server" ID="mpe" 
            PopupControlID="pnlOverlay" 
            BackgroundCssClass="modalBackground" 
            TargetControlID="pnlOverlay"&gt;&lt;/act:ModalPopupExtender&gt;
    &lt;/div&gt;
    &lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
        <p>
And the codebehind:
</p>
        <pre class="brush: csharp;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication35Tech.ModalPopupTesting
{
    public partial class ModalpopupShowFromCodeBehind : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            mpe.Show();
        }
    }
}</pre>
        <p>
 
</p>
        <p>
This little sample, once the button is clicked and a postback has occured, will lay
a so called overlay over the content of the page and in the middle of the screen will
show what’s inside pnlOverlay. 
<br />
Notice that I put the style=”display:none;” in the panel markup. This was done to
initially hide the content. Otherwise you get the behavior that the content of the
overlay will show on rendering in the browser in the top left corner and then suddenly
flashes to the center of the screen which is rather unwanted behavior.
</p>
        <p>
          <strong>2) How to show the modalpopup from script?</strong>
        </p>
        <p>
This seems to be a bit more tricky. The modalpopup extender control has an ID and
most people seem to the think that this should be used in client script to show it.
As many have found out this is incorrect. Besides the ID of an extender it also provides
a BehaviorID. This is the one that can be used to for example show our modal popup
or to set the value of a slider extender (also a part of the ASP.NET Ajax control
toolkit).
</p>
        <pre class="brush: xml;">&lt;%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ModalpopupShowFromClientScriptWithjQuery.aspx.cs" Inherits="WebApplication35Tech.ModalPopupTesting.ModalpopupShowFromClientScriptWithjQuery" %&gt;
&lt;%@ Register TagPrefix="act" Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" %&gt;

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml" &gt;
&lt;head runat="server"&gt;
    &lt;title&gt;Show a modalpopupextender from client script&lt;/title&gt;
    &lt;style type="text/css"&gt;

    .modalBackground {
        background-color:Gray;
        filter:alpha(opacity=70);
        opacity:0.7;
    }

    .modalPopup {
        background-color:#ffffdd;
        border-width:3px;
        border-style:solid;
        border-color:Gray;
        padding:3px;
        width:250px;
    }

    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;form id="form1" runat="server"&gt;
    &lt;div&gt;
                &lt;asp:ScriptManager ID="Scriptmanager1" runat="server" /&gt;
        
        &lt;asp:Panel ID="pnlOverlay" style="display:none;" runat="server" CssClass="modalPopup"&gt;
            Some informative message: Hello world!
        &lt;/asp:Panel&gt;
        
        &lt;input type="button" id="MyButton" value="Click me" /&gt;
        
        &lt;act:ModalPopupExtender runat="server" ID="mpe" 
            PopupControlID="pnlOverlay" 
            BackgroundCssClass="modalBackground" 
            TargetControlID="pnlOverlay"
            BehaviorID="mpeBehaviorID"&gt;&lt;/act:ModalPopupExtender&gt;
    &lt;/div&gt;
    &lt;/form&gt;
    &lt;script src="../scripts/jquery-1.3.2.js" type="text/javascript"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;

        window.onload = function() { $addHandler($get('MyButton'), 'click', showOverlay); }

        function showOverlay() {
            var bid = $find('mpeBehaviorID');
            bid.show();
        }
    
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
        <p>
 
</p>
        <p>
For this sample I made use of the unobtrusive way of capturing a click event of a
button. Here I use ASP.NET Ajax to wire up the click event of the button in the onload
event of the page. but I could’ve also written the same with <a href="http://blog.krisvandermast.com/ct.ashx?id=0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e&amp;url=http%3a%2f%2fwww.jquery.com%2f" target="_blank">jQuery</a>.
Note that I’m then mixing 2 different javascript frameworks/libraries together! That
little piece of script looks like this:
</p>
        <pre class="brush: js;">$(document).ready(function() {
    $('#MyButton').click(function() {
        var bid = $find('mpeBehaviorID');
        bid.show();
    });
});</pre>
        <p>
Once the button is clicked the overlay will show itself.
</p>
        <p>
          <strong>3) How to reposition the modalpopup?</strong>
        </p>
        <p>
As we saw in the previous 2 samples the modalpopup shows itself in the center of the
screen. Nice but sometimes you want to place it somewhere different. This can be done
by using the setLocation function from ASP.NET Ajax. A sample will make it more clear:
</p>
        <pre class="brush: xml;">&lt;%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ModalpopupChangeScreenPosition.aspx.cs" Inherits="WebApplication35Tech.ModalPopupTesting.ModalpopupChangeScreenPosition" %&gt;
&lt;%@ Register TagPrefix="act" Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" %&gt;

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml" &gt;
&lt;head runat="server"&gt;
    &lt;title&gt;Reposition a modalpopup&lt;/title&gt;
    &lt;style type="text/css"&gt;

    .modalBackground {
        background-color:Gray;
        filter:alpha(opacity=70);
        opacity:0.7;
    }

    .modalPopup {
        background-color:#ffffdd;
        border-width:3px;
        border-style:solid;
        border-color:Gray;
        padding:3px;
        width:250px;
    }

    &lt;/style&gt;
    &lt;script type="text/javascript"&gt;
    
        function pageLoad() {
            $addHandler($get('btn1'), 'click', reposition);
            $addHandler($get('link2'), 'click', showModalPopupViaClient);
        }
        function reposition(ev) {
            ev.preventDefault();
            var posP = Sys.UI.DomElement.getLocation($get('testLocation'));
            var posPnl = Sys.UI.DomElement.getLocation($get('Pnl3'));
            Sys.UI.DomElement.setLocation($get('Pnl3'), posPnl.x, posP.y);
        }
        function showModalPopupViaClient(ev) {
            if (ev !== undefined) {
                ev.preventDefault();
            }
            var modalPopupBehavior = $find('test');
            modalPopupBehavior.show();
            
            var posP = Sys.UI.DomElement.getLocation($get('link2'));
            var posPnl = Sys.UI.DomElement.getLocation($get('Pnl3'));
            
            Sys.UI.DomElement.setLocation($get('Pnl3'), posPnl.x, posP.y);
        }
    
    &lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;form id="form1" runat="server"&gt;
    &lt;div&gt;
        &lt;asp:ScriptManager runat="server" ID="sm"&gt;&lt;/asp:ScriptManager&gt;
        &lt;asp:Panel runat="server" ID="Pnl3"&gt;
            &lt;asp:TextBox runat="server" ID="txtTest"&gt;&lt;/asp:TextBox&gt;&lt;br /&gt;
            &lt;asp:Button runat="server" ID="btn1" Text="Reposition" /&gt;
        &lt;/asp:Panel&gt;
        &lt;asp:LinkButton runat="server" ID="link1" Text="Click me..."&gt;&lt;/asp:LinkButton&gt;
        
        &lt;act:ModalPopupExtender runat="server" ID="modal1" PopupControlID="Pnl3"
            TargetControlID="link1" BackgroundCssClass="modalBackground" RepositionMode="None"
            Y="80" BehaviorID="test"&gt;
        &lt;/act:ModalPopupExtender&gt;
        
        &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
        &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
        &lt;p id="testLocation"&gt;test...&lt;/p&gt;
        &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
        &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
        &lt;input type="button" id="link2" value="Click me too..." /&gt;
    &lt;/div&gt;
    &lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
        <p>
Once rendered there’s a link at the top and a button on the bottom of the page. Either
one can be clicked and because we wired up the event handlers (with the $addHandler
shortcut provided by ASP.NET Ajax) the function showModalPopupViaClient gets called.
This once again grabs the BehaviorID, mind the sample in point number 2. Once done
it grabs several coordinates with the Sys.UI.DomElement.getLocation function call.
Then it uses the x position of the panel that acts as the modalpopup and the y position
of the button.
</p>
        <p>
However we notice something strange here. When we click the button on the bottom we
expect that the overlay is set to the bottom as well due to the x/y positioning. But
when we click the link in the left top corner we would expect that it would center
as we didn’t add a handler for that click right? This isn’t the case. The modalpopup
becomes visible near the top. How is this done? Well, notice in the markup of the
modalpopupextender the attribute Y=”80”. This is what makes it all happen. It’s our
default position to show the modalpopup.
</p>
        <p>
Once the popup has appeared we can simply click the button Reposition. The function
reposition will get called and the modalpopup will reposition itself to the y position
of the paragraph with id=testLocation.
</p>
        <p>
 
</p>
        <p>
Grz, Kris.
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e" />
      </body>
      <title>ASP.NET AJAX Control toolkit Modalpopupextender control</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e.aspx</guid>
      <link>http://blog.krisvandermast.com/ASPNETAJAXControlToolkitModalpopupextenderControl.aspx</link>
      <pubDate>Mon, 29 Jun 2009 21:39:40 GMT</pubDate>
      <description>&lt;p&gt;
I’ve seen questions about this control over and over again on the forums and decided
to write something about it. The most common questions seem to be these:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;1) How to show the modalpopup from codebehind?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Quite an easy one. The control itself exposes a Show method. This can be called during
a postback for example to show some informative message or to provide a fill in form
for an enduser. The following code snippet show how to do it:
&lt;/p&gt;
&lt;pre class="brush: xml;"&gt;e Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeBehind=&amp;quot;ModalpopupShowFromCodeBehind.aspx.cs&amp;quot; Inherits=&amp;quot;WebApplication35Tech.ModalPopupTesting.ModalpopupShowFromCodeBehind&amp;quot; %&amp;gt;
&amp;lt;%@ Register TagPrefix=&amp;quot;act&amp;quot; Assembly=&amp;quot;AjaxControlToolkit&amp;quot; Namespace=&amp;quot;AjaxControlToolkit&amp;quot; %&amp;gt;

&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;

&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;Show a modalpopupextender from codebehind&amp;lt;/title&amp;gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;

    .modalBackground {
        background-color:Gray;
        filter:alpha(opacity=70);
        opacity:0.7;
    }

    .modalPopup {
        background-color:#ffffdd;
        border-width:3px;
        border-style:solid;
        border-color:Gray;
        padding:3px;
        width:250px;
    }

    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;div&amp;gt;
        &amp;lt;asp:ScriptManager ID=&amp;quot;Scriptmanager1&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;
        
        &amp;lt;asp:Panel ID=&amp;quot;pnlOverlay&amp;quot; style=&amp;quot;display:none;&amp;quot; runat=&amp;quot;server&amp;quot; CssClass=&amp;quot;modalPopup&amp;quot;&amp;gt;
            Some informative message: Hello world!
        &amp;lt;/asp:Panel&amp;gt;
        
        &amp;lt;asp:Button ID=&amp;quot;Button1&amp;quot; Text=&amp;quot;Click me&amp;quot; runat=&amp;quot;server&amp;quot; 
            onclick=&amp;quot;Button1_Click&amp;quot; /&amp;gt;
        
        &amp;lt;act:ModalPopupExtender runat=&amp;quot;server&amp;quot; ID=&amp;quot;mpe&amp;quot; 
            PopupControlID=&amp;quot;pnlOverlay&amp;quot; 
            BackgroundCssClass=&amp;quot;modalBackground&amp;quot; 
            TargetControlID=&amp;quot;pnlOverlay&amp;quot;&amp;gt;&amp;lt;/act:ModalPopupExtender&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;p&gt;
And the codebehind:
&lt;/p&gt;
&lt;pre class="brush: csharp;"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication35Tech.ModalPopupTesting
{
    public partial class ModalpopupShowFromCodeBehind : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            mpe.Show();
        }
    }
}&lt;/pre&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
This little sample, once the button is clicked and a postback has occured, will lay
a so called overlay over the content of the page and in the middle of the screen will
show what’s inside pnlOverlay. 
&lt;br /&gt;
Notice that I put the style=”display:none;” in the panel markup. This was done to
initially hide the content. Otherwise you get the behavior that the content of the
overlay will show on rendering in the browser in the top left corner and then suddenly
flashes to the center of the screen which is rather unwanted behavior.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;2) How to show the modalpopup from script?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
This seems to be a bit more tricky. The modalpopup extender control has an ID and
most people seem to the think that this should be used in client script to show it.
As many have found out this is incorrect. Besides the ID of an extender it also provides
a BehaviorID. This is the one that can be used to for example show our modal popup
or to set the value of a slider extender (also a part of the ASP.NET Ajax control
toolkit).
&lt;/p&gt;
&lt;pre class="brush: xml;"&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeBehind=&amp;quot;ModalpopupShowFromClientScriptWithjQuery.aspx.cs&amp;quot; Inherits=&amp;quot;WebApplication35Tech.ModalPopupTesting.ModalpopupShowFromClientScriptWithjQuery&amp;quot; %&amp;gt;
&amp;lt;%@ Register TagPrefix=&amp;quot;act&amp;quot; Assembly=&amp;quot;AjaxControlToolkit&amp;quot; Namespace=&amp;quot;AjaxControlToolkit&amp;quot; %&amp;gt;

&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;

&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;Show a modalpopupextender from client script&amp;lt;/title&amp;gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;

    .modalBackground {
        background-color:Gray;
        filter:alpha(opacity=70);
        opacity:0.7;
    }

    .modalPopup {
        background-color:#ffffdd;
        border-width:3px;
        border-style:solid;
        border-color:Gray;
        padding:3px;
        width:250px;
    }

    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;div&amp;gt;
                &amp;lt;asp:ScriptManager ID=&amp;quot;Scriptmanager1&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;
        
        &amp;lt;asp:Panel ID=&amp;quot;pnlOverlay&amp;quot; style=&amp;quot;display:none;&amp;quot; runat=&amp;quot;server&amp;quot; CssClass=&amp;quot;modalPopup&amp;quot;&amp;gt;
            Some informative message: Hello world!
        &amp;lt;/asp:Panel&amp;gt;
        
        &amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;MyButton&amp;quot; value=&amp;quot;Click me&amp;quot; /&amp;gt;
        
        &amp;lt;act:ModalPopupExtender runat=&amp;quot;server&amp;quot; ID=&amp;quot;mpe&amp;quot; 
            PopupControlID=&amp;quot;pnlOverlay&amp;quot; 
            BackgroundCssClass=&amp;quot;modalBackground&amp;quot; 
            TargetControlID=&amp;quot;pnlOverlay&amp;quot;
            BehaviorID=&amp;quot;mpeBehaviorID&amp;quot;&amp;gt;&amp;lt;/act:ModalPopupExtender&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
    &amp;lt;script src=&amp;quot;../scripts/jquery-1.3.2.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;

        window.onload = function() { $addHandler($get('MyButton'), 'click', showOverlay); }

        function showOverlay() {
            var bid = $find('mpeBehaviorID');
            bid.show();
        }
    
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
For this sample I made use of the unobtrusive way of capturing a click event of a
button. Here I use ASP.NET Ajax to wire up the click event of the button in the onload
event of the page. but I could’ve also written the same with &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e&amp;amp;url=http%3a%2f%2fwww.jquery.com%2f" target="_blank"&gt;jQuery&lt;/a&gt;.
Note that I’m then mixing 2 different javascript frameworks/libraries together! That
little piece of script looks like this:
&lt;/p&gt;
&lt;pre class="brush: js;"&gt;$(document).ready(function() {
    $('#MyButton').click(function() {
        var bid = $find('mpeBehaviorID');
        bid.show();
    });
});&lt;/pre&gt;
&lt;p&gt;
Once the button is clicked the overlay will show itself.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;3) How to reposition the modalpopup?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
As we saw in the previous 2 samples the modalpopup shows itself in the center of the
screen. Nice but sometimes you want to place it somewhere different. This can be done
by using the setLocation function from ASP.NET Ajax. A sample will make it more clear:
&lt;/p&gt;
&lt;pre class="brush: xml;"&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeBehind=&amp;quot;ModalpopupChangeScreenPosition.aspx.cs&amp;quot; Inherits=&amp;quot;WebApplication35Tech.ModalPopupTesting.ModalpopupChangeScreenPosition&amp;quot; %&amp;gt;
&amp;lt;%@ Register TagPrefix=&amp;quot;act&amp;quot; Assembly=&amp;quot;AjaxControlToolkit&amp;quot; Namespace=&amp;quot;AjaxControlToolkit&amp;quot; %&amp;gt;

&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;

&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;Reposition a modalpopup&amp;lt;/title&amp;gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;

    .modalBackground {
        background-color:Gray;
        filter:alpha(opacity=70);
        opacity:0.7;
    }

    .modalPopup {
        background-color:#ffffdd;
        border-width:3px;
        border-style:solid;
        border-color:Gray;
        padding:3px;
        width:250px;
    }

    &amp;lt;/style&amp;gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
    
        function pageLoad() {
            $addHandler($get('btn1'), 'click', reposition);
            $addHandler($get('link2'), 'click', showModalPopupViaClient);
        }
        function reposition(ev) {
            ev.preventDefault();
            var posP = Sys.UI.DomElement.getLocation($get('testLocation'));
            var posPnl = Sys.UI.DomElement.getLocation($get('Pnl3'));
            Sys.UI.DomElement.setLocation($get('Pnl3'), posPnl.x, posP.y);
        }
        function showModalPopupViaClient(ev) {
            if (ev !== undefined) {
                ev.preventDefault();
            }
            var modalPopupBehavior = $find('test');
            modalPopupBehavior.show();
            
            var posP = Sys.UI.DomElement.getLocation($get('link2'));
            var posPnl = Sys.UI.DomElement.getLocation($get('Pnl3'));
            
            Sys.UI.DomElement.setLocation($get('Pnl3'), posPnl.x, posP.y);
        }
    
    &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;div&amp;gt;
        &amp;lt;asp:ScriptManager runat=&amp;quot;server&amp;quot; ID=&amp;quot;sm&amp;quot;&amp;gt;&amp;lt;/asp:ScriptManager&amp;gt;
        &amp;lt;asp:Panel runat=&amp;quot;server&amp;quot; ID=&amp;quot;Pnl3&amp;quot;&amp;gt;
            &amp;lt;asp:TextBox runat=&amp;quot;server&amp;quot; ID=&amp;quot;txtTest&amp;quot;&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&amp;lt;br /&amp;gt;
            &amp;lt;asp:Button runat=&amp;quot;server&amp;quot; ID=&amp;quot;btn1&amp;quot; Text=&amp;quot;Reposition&amp;quot; /&amp;gt;
        &amp;lt;/asp:Panel&amp;gt;
        &amp;lt;asp:LinkButton runat=&amp;quot;server&amp;quot; ID=&amp;quot;link1&amp;quot; Text=&amp;quot;Click me...&amp;quot;&amp;gt;&amp;lt;/asp:LinkButton&amp;gt;
        
        &amp;lt;act:ModalPopupExtender runat=&amp;quot;server&amp;quot; ID=&amp;quot;modal1&amp;quot; PopupControlID=&amp;quot;Pnl3&amp;quot;
            TargetControlID=&amp;quot;link1&amp;quot; BackgroundCssClass=&amp;quot;modalBackground&amp;quot; RepositionMode=&amp;quot;None&amp;quot;
            Y=&amp;quot;80&amp;quot; BehaviorID=&amp;quot;test&amp;quot;&amp;gt;
        &amp;lt;/act:ModalPopupExtender&amp;gt;
        
        &amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;
        &amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;
        &amp;lt;p id=&amp;quot;testLocation&amp;quot;&amp;gt;test...&amp;lt;/p&amp;gt;
        &amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;
        &amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;
        &amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;link2&amp;quot; value=&amp;quot;Click me too...&amp;quot; /&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;p&gt;
Once rendered there’s a link at the top and a button on the bottom of the page. Either
one can be clicked and because we wired up the event handlers (with the $addHandler
shortcut provided by ASP.NET Ajax) the function showModalPopupViaClient gets called.
This once again grabs the BehaviorID, mind the sample in point number 2. Once done
it grabs several coordinates with the Sys.UI.DomElement.getLocation function call.
Then it uses the x position of the panel that acts as the modalpopup and the y position
of the button.
&lt;/p&gt;
&lt;p&gt;
However we notice something strange here. When we click the button on the bottom we
expect that the overlay is set to the bottom as well due to the x/y positioning. But
when we click the link in the left top corner we would expect that it would center
as we didn’t add a handler for that click right? This isn’t the case. The modalpopup
becomes visible near the top. How is this done? Well, notice in the markup of the
modalpopupextender the attribute Y=”80”. This is what makes it all happen. It’s our
default position to show the modalpopup.
&lt;/p&gt;
&lt;p&gt;
Once the popup has appeared we can simply click the button Reposition. The function
reposition will get called and the modalpopup will reposition itself to the y position
of the paragraph with id=testLocation.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Grz, Kris.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,0c6d9ebc-a8ab-474a-ac2e-2877afbd1f8e.aspx</comments>
      <category>AJAX Control Toolkit</category>
      <category>ASP.NET/ASP.NET AJAX</category>
      <category>jQuery</category>
      <category>ModalPopupExtender</category>
    </item>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=83ecb901-afe2-43d6-b2a7-6f260fc4ff46</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,83ecb901-afe2-43d6-b2a7-6f260fc4ff46.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,83ecb901-afe2-43d6-b2a7-6f260fc4ff46.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=83ecb901-afe2-43d6-b2a7-6f260fc4ff46</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The first time I encountered .NET Reflector was at Techdays Belgium in 2003 during
a session. I got interested in this valuable tool and used it ever since for disassembling
.NET assemblies to code and take a look at the inner workings. If you haven’t downloaded
it already then you can <a title="Download .NET Reflector" href="http://blog.krisvandermast.com/ct.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46&amp;url=http%3a%2f%2fwww.red-gate.com%2fproducts%2freflector%2findex.htm" target="_blank">grab
it here</a>.
</p>
        <p>
A little known fact is that one can also extract embedded resources with this marvelous
tool. When you simply open .NET reflector like in figure 1 you can navigate in the
treeview to System.Web &gt; Resources.
</p>
        <p>
          <a href="http://blog.krisvandermast.com/ct.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46&amp;url=http%3a%2f%2fblog.krisvandermast.com%2fcontent%2fbinary%2fWindowsLiveWriter%2fExportingembeddedresourcesf.NETReflector_113EB%2freflector01_2.png" target="_blank">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="reflector01" border="0" alt="reflector01" src="http://blog.krisvandermast.com/content/binary/WindowsLiveWriter/Exportingembeddedresourcesf.NETReflector_113EB/reflector01_thumb.png" width="286" height="484" />
          </a>  
<br /><strong>Figure 1</strong>: .NET Reflector assemblies overview
</p>
        <p>
Then scroll down until you find the resource with the name WebUIValidation.js. Right
click on it and select <strong>Save As…</strong> like in figure 2:
</p>
        <p>
          <a href="http://blog.krisvandermast.com/ct.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46&amp;url=http%3a%2f%2fblog.krisvandermast.com%2fcontent%2fbinary%2fWindowsLiveWriter%2fExportingembeddedresourcesf.NETReflector_113EB%2freflector02_2.png" target="_blank">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="reflector02" border="0" alt="reflector02" src="http://blog.krisvandermast.com/content/binary/WindowsLiveWriter/Exportingembeddedresourcesf.NETReflector_113EB/reflector02_thumb.png" width="291" height="484" />
          </a>
          <br />
Figure 2: Save the resource.
</p>
        <p>
After this action a Filesavedialog window will open so you can save the resource to
disk.
</p>
        <p>
 
</p>
        <p>
Also be sure to check out this <a title=".NET Reflector demo movie" href="http://blog.krisvandermast.com/ct.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46&amp;url=http%3a%2f%2fwww.red-gate.com%2fproducts%2freflector%2fvideo.htm" target="_blank">demo
movie</a> from Redgate itself which shows some nice standard features if you’re not
used to working with the product.
</p>
        <p>
Grz, Kris. 
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46" />
      </body>
      <title>Exporting embedded resources from the .NET framework with .NET Reflector</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,83ecb901-afe2-43d6-b2a7-6f260fc4ff46.aspx</guid>
      <link>http://blog.krisvandermast.com/ExportingEmbeddedResourcesFromTheNETFrameworkWithNETReflector.aspx</link>
      <pubDate>Sun, 07 Jun 2009 21:55:00 GMT</pubDate>
      <description>&lt;p&gt;
The first time I encountered .NET Reflector was at Techdays Belgium in 2003 during
a session. I got interested in this valuable tool and used it ever since for disassembling
.NET assemblies to code and take a look at the inner workings. If you haven’t downloaded
it already then you can &lt;a title="Download .NET Reflector" href="http://blog.krisvandermast.com/ct.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46&amp;amp;url=http%3a%2f%2fwww.red-gate.com%2fproducts%2freflector%2findex.htm" target="_blank"&gt;grab
it here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
A little known fact is that one can also extract embedded resources with this marvelous
tool. When you simply open .NET reflector like in figure 1 you can navigate in the
treeview to System.Web &amp;gt; Resources.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.krisvandermast.com/ct.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46&amp;amp;url=http%3a%2f%2fblog.krisvandermast.com%2fcontent%2fbinary%2fWindowsLiveWriter%2fExportingembeddedresourcesf.NETReflector_113EB%2freflector01_2.png" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="reflector01" border="0" alt="reflector01" src="http://blog.krisvandermast.com/content/binary/WindowsLiveWriter/Exportingembeddedresourcesf.NETReflector_113EB/reflector01_thumb.png" width="286" height="484" /&gt;&lt;/a&gt;&amp;#160; 
&lt;br /&gt;
&lt;strong&gt;Figure 1&lt;/strong&gt;: .NET Reflector assemblies overview
&lt;/p&gt;
&lt;p&gt;
Then scroll down until you find the resource with the name WebUIValidation.js. Right
click on it and select &lt;strong&gt;Save As…&lt;/strong&gt; like in figure 2:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.krisvandermast.com/ct.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46&amp;amp;url=http%3a%2f%2fblog.krisvandermast.com%2fcontent%2fbinary%2fWindowsLiveWriter%2fExportingembeddedresourcesf.NETReflector_113EB%2freflector02_2.png" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="reflector02" border="0" alt="reflector02" src="http://blog.krisvandermast.com/content/binary/WindowsLiveWriter/Exportingembeddedresourcesf.NETReflector_113EB/reflector02_thumb.png" width="291" height="484" /&gt;&lt;/a&gt; 
&lt;br /&gt;
Figure 2: Save the resource.
&lt;/p&gt;
&lt;p&gt;
After this action a Filesavedialog window will open so you can save the resource to
disk.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Also be sure to check out this &lt;a title=".NET Reflector demo movie" href="http://blog.krisvandermast.com/ct.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46&amp;amp;url=http%3a%2f%2fwww.red-gate.com%2fproducts%2freflector%2fvideo.htm" target="_blank"&gt;demo
movie&lt;/a&gt; from Redgate itself which shows some nice standard features if you’re not
used to working with the product.
&lt;/p&gt;
&lt;p&gt;
Grz, Kris. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=83ecb901-afe2-43d6-b2a7-6f260fc4ff46" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,83ecb901-afe2-43d6-b2a7-6f260fc4ff46.aspx</comments>
      <category>.NET Reflector</category>
    </item>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=bdf41143-546c-4c39-b96d-cd9d9b592052</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,bdf41143-546c-4c39-b96d-cd9d9b592052.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,bdf41143-546c-4c39-b96d-cd9d9b592052.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=bdf41143-546c-4c39-b96d-cd9d9b592052</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recently read the book ASP.NET MVC Quickly from Maarten Balliauw, published by PACKT
Publishing. It’s been one of those few books that I read from cover to cover. Not
only because the subject interested me but also because it shows in about 190+ pages
an introduction to this new technology from Microsoft. It was clear that the person
who wrote it knows quite a lot about the subject and that shows in the book. I really
appreciated Appendix A and C where Maarten discusses a sample application he created: <a title="CarTrackr ASP.NET MVC sample application on CodePlex" href="http://blog.krisvandermast.com/ct.ashx?id=bdf41143-546c-4c39-b96d-cd9d9b592052&amp;url=http%3a%2f%2fcartrackr.codeplex.com%2f" target="_blank">CarTrackr</a>.
</p>
        <p>
          <a title="ASP.NET MVC Quickly PACKT publishing" href="http://blog.krisvandermast.com/ct.ashx?id=bdf41143-546c-4c39-b96d-cd9d9b592052&amp;url=https%3a%2f%2fwww.packtpub.com%2fasp-net-model-view-controller-1-0-quickly%2fbook" target="_blank">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="aspnetmvcquickly" border="0" alt="aspnetmvcquickly" src="http://blog.krisvandermast.com/content/binary/WindowsLiveWriter/BookreviewASP.NETMVCQuickly_136DB/aspnetmvcquickly_3.jpg" width="199" height="244" />
          </a>
        </p>
        <p>
 
</p>
        <p>
Chapters 1 &amp; 2 provide some quick introductions as to how the architecture looks
like and why you would use it over normal ASP.NET webforms. Provided is a “litmus”
test to see whether to go for MVC or Webforms and discusses the advantages of both.
Chapter 2 explains what’s in the box when you create a new ASP.NET MVC application
with Visual Studio. Also a first small application’s being built with ViewData and
strong typed ViewData. 
</p>
        <p>
Chapter 3 introduces you to a simple application, shows how to deal with fileuploads
in MVC, simple validation and the creation of a custom ModelBinder attribute.
</p>
        <p>
Chapter 4 covers the ASP.NET MVC request life cycle. Yes there’s a life cycle but
not similar to the <a title="ASP.NET Page Life Cycle" href="http://blog.krisvandermast.com/ct.ashx?id=bdf41143-546c-4c39-b96d-cd9d9b592052&amp;url=http%3a%2f%2fblog.krisvandermast.com%2fASPNET20PageLifeCycle.aspx" target="_blank">ASP.NET
Page Life Cycle</a> most people got to know during the last years. After that it proceeds
with a more in depth look at the model and validation on such a model. After that
an in depth look at controllers, actionresult types and how to handle unknown controller
actions. Master pages and Partial views (.ascx) are covered. Those last are only briefly
touched and I found that a bit of a pity as these are important concepts. Especially
the lack of nester master pages in this story was something I missed.
</p>
        <p>
Chapter 5 is totally dedicated to routing. A very important concept in the whole ASP.NET
MVC technology stack (and ASP.NET Dynamic Data and also possible to use with normal
webforms). Also a quick explanation on how to integrate both ASP.NET and ASP.NET MVC
together in the same project routing wise.
</p>
        <p>
Chapter 6 shows you an overview on how to customize the framework and to even build
a small custom viewengine. Also the making of a custom ActionFilter gets discussed.
</p>
        <p>
Chapter 7 shows how to use the standard membership, session state, … that we all know
from webforms in ASP.NET MVC. After all, it’s built on top of normal ASP.NET so they
can share a great deal of the standard technology. Also is shown how to integrate
both technology stacks in the same project. This can be interesting food for thought
when people want to gradually upgrade to MVC. Also a nice trick to build views at
compile time. Slowing the process down but can safe time in finding out the hard way
that you forgot a ) or something and the whole thing explodes in your face.
</p>
        <p>
The next chapter tells us more about AJAX. I had hoped to see this chapter to be longer
but it just gives a quick overview. The fact that both ASP.NET AJAX and jQuery (even
some of the ui components) are discussed is a plus. I’m a big fan of the latter myself.
</p>
        <p>
Then chapter 9’s all about testing. Also mocking’s discussed. Since ASP.NET MVC is
also considered to be way better than webforms to be tested (TDD and such) this is
an interesting chapter.
</p>
        <p>
The last chapter is all about deployment; A lot of resources seem to be forgetting
about this but I liked the fact that this book covers it. Also on older versions of
IIS than 7. 
</p>
        <p>
As already stated above, I liked appendix A and C. They cover an application built
with the technology which is downloadable on codeplex. Appendix C provides an overview
of very interesting resources about the topic.
</p>
        <p>
Conclusion: it’s a nice book that quickly gets a developer into the terms of ASP.NET
MVC, covers quite a lot of ground and touches the interesting parts of the technology.
Some parts I would’ve loved to see a bit deepened out, especially the parts about
the master pages and partial views as well ajax. On the other hand I read it from
cover to cover and that certainly means something.
</p>
        <p>
Grz, Kris.
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=bdf41143-546c-4c39-b96d-cd9d9b592052" />
      </body>
      <title>Book review: ASP.NET MVC Quickly</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,bdf41143-546c-4c39-b96d-cd9d9b592052.aspx</guid>
      <link>http://blog.krisvandermast.com/BookReviewASPNETMVCQuickly.aspx</link>
      <pubDate>Mon, 01 Jun 2009 20:06:19 GMT</pubDate>
      <description>&lt;p&gt;
I recently read the book ASP.NET MVC Quickly from Maarten Balliauw, published by PACKT
Publishing. It’s been one of those few books that I read from cover to cover. Not
only because the subject interested me but also because it shows in about 190+ pages
an introduction to this new technology from Microsoft. It was clear that the person
who wrote it knows quite a lot about the subject and that shows in the book. I really
appreciated Appendix A and C where Maarten discusses a sample application he created: &lt;a title="CarTrackr ASP.NET MVC sample application on CodePlex" href="http://blog.krisvandermast.com/ct.ashx?id=bdf41143-546c-4c39-b96d-cd9d9b592052&amp;amp;url=http%3a%2f%2fcartrackr.codeplex.com%2f" target="_blank"&gt;CarTrackr&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a title="ASP.NET MVC Quickly PACKT publishing" href="http://blog.krisvandermast.com/ct.ashx?id=bdf41143-546c-4c39-b96d-cd9d9b592052&amp;amp;url=https%3a%2f%2fwww.packtpub.com%2fasp-net-model-view-controller-1-0-quickly%2fbook" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="aspnetmvcquickly" border="0" alt="aspnetmvcquickly" src="http://blog.krisvandermast.com/content/binary/WindowsLiveWriter/BookreviewASP.NETMVCQuickly_136DB/aspnetmvcquickly_3.jpg" width="199" height="244" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Chapters 1 &amp;amp; 2 provide some quick introductions as to how the architecture looks
like and why you would use it over normal ASP.NET webforms. Provided is a “litmus”
test to see whether to go for MVC or Webforms and discusses the advantages of both.
Chapter 2 explains what’s in the box when you create a new ASP.NET MVC application
with Visual Studio. Also a first small application’s being built with ViewData and
strong typed ViewData. 
&lt;/p&gt;
&lt;p&gt;
Chapter 3 introduces you to a simple application, shows how to deal with fileuploads
in MVC, simple validation and the creation of a custom ModelBinder attribute.
&lt;/p&gt;
&lt;p&gt;
Chapter 4 covers the ASP.NET MVC request life cycle. Yes there’s a life cycle but
not similar to the &lt;a title="ASP.NET Page Life Cycle" href="http://blog.krisvandermast.com/ct.ashx?id=bdf41143-546c-4c39-b96d-cd9d9b592052&amp;amp;url=http%3a%2f%2fblog.krisvandermast.com%2fASPNET20PageLifeCycle.aspx" target="_blank"&gt;ASP.NET
Page Life Cycle&lt;/a&gt; most people got to know during the last years. After that it proceeds
with a more in depth look at the model and validation on such a model. After that
an in depth look at controllers, actionresult types and how to handle unknown controller
actions. Master pages and Partial views (.ascx) are covered. Those last are only briefly
touched and I found that a bit of a pity as these are important concepts. Especially
the lack of nester master pages in this story was something I missed.
&lt;/p&gt;
&lt;p&gt;
Chapter 5 is totally dedicated to routing. A very important concept in the whole ASP.NET
MVC technology stack (and ASP.NET Dynamic Data and also possible to use with normal
webforms). Also a quick explanation on how to integrate both ASP.NET and ASP.NET MVC
together in the same project routing wise.
&lt;/p&gt;
&lt;p&gt;
Chapter 6 shows you an overview on how to customize the framework and to even build
a small custom viewengine. Also the making of a custom ActionFilter gets discussed.
&lt;/p&gt;
&lt;p&gt;
Chapter 7 shows how to use the standard membership, session state, … that we all know
from webforms in ASP.NET MVC. After all, it’s built on top of normal ASP.NET so they
can share a great deal of the standard technology. Also is shown how to integrate
both technology stacks in the same project. This can be interesting food for thought
when people want to gradually upgrade to MVC. Also a nice trick to build views at
compile time. Slowing the process down but can safe time in finding out the hard way
that you forgot a ) or something and the whole thing explodes in your face.
&lt;/p&gt;
&lt;p&gt;
The next chapter tells us more about AJAX. I had hoped to see this chapter to be longer
but it just gives a quick overview. The fact that both ASP.NET AJAX and jQuery (even
some of the ui components) are discussed is a plus. I’m a big fan of the latter myself.
&lt;/p&gt;
&lt;p&gt;
Then chapter 9’s all about testing. Also mocking’s discussed. Since ASP.NET MVC is
also considered to be way better than webforms to be tested (TDD and such) this is
an interesting chapter.
&lt;/p&gt;
&lt;p&gt;
The last chapter is all about deployment; A lot of resources seem to be forgetting
about this but I liked the fact that this book covers it. Also on older versions of
IIS than 7. 
&lt;/p&gt;
&lt;p&gt;
As already stated above, I liked appendix A and C. They cover an application built
with the technology which is downloadable on codeplex. Appendix C provides an overview
of very interesting resources about the topic.
&lt;/p&gt;
&lt;p&gt;
Conclusion: it’s a nice book that quickly gets a developer into the terms of ASP.NET
MVC, covers quite a lot of ground and touches the interesting parts of the technology.
Some parts I would’ve loved to see a bit deepened out, especially the parts about
the master pages and partial views as well ajax. On the other hand I read it from
cover to cover and that certainly means something.
&lt;/p&gt;
&lt;p&gt;
Grz, Kris.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=bdf41143-546c-4c39-b96d-cd9d9b592052" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,bdf41143-546c-4c39-b96d-cd9d9b592052.aspx</comments>
      <category>Books</category>
      <category>Review</category>
    </item>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=982ba14c-c553-4390-96e5-452dc71e0477</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,982ba14c-c553-4390-96e5-452dc71e0477.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,982ba14c-c553-4390-96e5-452dc71e0477.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=982ba14c-c553-4390-96e5-452dc71e0477</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just noticed that <a href="http://blog.krisvandermast.com/ct.ashx?id=982ba14c-c553-4390-96e5-452dc71e0477&amp;url=http%3a%2f%2fblogs.msdn.com%2fsomasegar%2farchive%2f2009%2f05%2f18%2fvisual-studio-2010-and-net-fx-4-beta-1-ships.aspx" target="_blank">Visual
studio 2010 and .NET framework 4.0 Beta 1 shipped</a>. This is great news as that
means that people can download it and play around with but. More important though
is that people can also provide feedback to Microsoft and make sure that unnoticed
things might get kicked out before going RTW.
</p>
        <p>
Also check out the <a href="http://blog.krisvandermast.com/ct.ashx?id=982ba14c-c553-4390-96e5-452dc71e0477&amp;url=http%3a%2f%2fwww.microsoft.com%2fvisualstudio%2fen-us%2fproducts%2f2010%2fdefault.mspx" target="_blank">Product
information page</a>.
</p>
        <p>
Grz, Kris.
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=982ba14c-c553-4390-96e5-452dc71e0477" />
      </body>
      <title>Visual studio 2010 and .NET framework 4.0 Beta 1 shipped</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,982ba14c-c553-4390-96e5-452dc71e0477.aspx</guid>
      <link>http://blog.krisvandermast.com/VisualStudio2010AndNETFramework40Beta1Shipped.aspx</link>
      <pubDate>Mon, 18 May 2009 18:29:49 GMT</pubDate>
      <description>&lt;p&gt;
Just noticed that &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=982ba14c-c553-4390-96e5-452dc71e0477&amp;amp;url=http%3a%2f%2fblogs.msdn.com%2fsomasegar%2farchive%2f2009%2f05%2f18%2fvisual-studio-2010-and-net-fx-4-beta-1-ships.aspx" target="_blank"&gt;Visual
studio 2010 and .NET framework 4.0 Beta 1 shipped&lt;/a&gt;. This is great news as that
means that people can download it and play around with but. More important though
is that people can also provide feedback to Microsoft and make sure that unnoticed
things might get kicked out before going RTW.
&lt;/p&gt;
&lt;p&gt;
Also check out the &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=982ba14c-c553-4390-96e5-452dc71e0477&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fvisualstudio%2fen-us%2fproducts%2f2010%2fdefault.mspx" target="_blank"&gt;Product
information page&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Grz, Kris.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=982ba14c-c553-4390-96e5-452dc71e0477" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,982ba14c-c553-4390-96e5-452dc71e0477.aspx</comments>
      <category>.NET 4.0</category>
      <category>Visual Studio</category>
    </item>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=773f27cb-f83a-447f-8575-db9b5f7a7349</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,773f27cb-f83a-447f-8575-db9b5f7a7349.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,773f27cb-f83a-447f-8575-db9b5f7a7349.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=773f27cb-f83a-447f-8575-db9b5f7a7349</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just saw on <a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;url=http%3a%2f%2fwww.twitter.com%2f" target="_blank">Twitter</a> that
there’s a new version of the <a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;url=http%3a%2f%2fajaxcontroltoolkit.codeplex.com%2fRelease%2fProjectReleases.aspx%3fReleaseId%3d27326" target="_blank">ASP.NET
AJAX Control toolkit</a> available on <a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;url=http%3a%2f%2fwww.codeplex.com%2f" target="_blank">codeplex</a>.
There are 3 new controls available:
</p>
        <ul>
          <li>
            <strong>HTMLEditor</strong>: The HTMLEditor control allows you to easily create and
edit HTML content. You can edit in design mode, as a rich text editor, or in source
view to edit the HTML markup directly. <a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;url=http%3a%2f%2fwww.asp.net%2fAJAX%2fAjaxControlToolkit%2fSamples%2fHTMLEditor%2fHTMLEditor.aspx" target="_blank">HTMLEditor
demonstration</a>. 
<br /></li>
          <li>
            <strong>ComboBox</strong>: The ComboBox control provides a DropDownList of items,
combined with TextBox. Different modes determine the interplay between the text entry
and the list of items. <a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;url=http%3a%2f%2fwww.asp.net%2fAJAX%2fAjaxControlToolkit%2fSamples%2fComboBox%2fComboBox.aspx" target="_blank">ComboBox
demonstration</a>. 
<br /></li>
          <li>
            <strong>ColorPicker</strong>: The ColorPicker Control Extender can be attached to
any ASP.NET TextBox control. It provides client-side color-picking functionality with
UI in a popup control. <a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;url=http%3a%2f%2fwww.asp.net%2fAJAX%2fAjaxControlToolkit%2fSamples%2fColorPicker%2fColorPicker.aspx" target="_blank">ColorPicker
demonstration</a>. 
<br /></li>
        </ul>
        <p>
Be sure to also check out the <a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;url=http%3a%2f%2fwww.asp.net%2flearn%2fajax-videos%2f%23AjaxControlToolkit" target="_blank">new
videos</a> dedicated for these controls and their <a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;url=http%3a%2f%2fwww.asp.net%2flearn%2fajax%2f%23ajaxcontroltoolkit" target="_blank">new
tutorials</a>.
</p>
        <p>
There’s also now a new tutorial available on <a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;url=http%3a%2f%2fwww.asp.net%2flearn%2fAjax-Control-Toolkit%2ftutorial-49-cs.aspx" target="_blank">Creating
a Custom AJAX Control Toolkit Control Extender</a>. Be sure to check it out.
</p>
        <p>
Grz, Kris.
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349" />
      </body>
      <title>New version of the ASP.NET AJAX Control toolkit</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,773f27cb-f83a-447f-8575-db9b5f7a7349.aspx</guid>
      <link>http://blog.krisvandermast.com/NewVersionOfTheASPNETAJAXControlToolkit.aspx</link>
      <pubDate>Thu, 14 May 2009 07:13:35 GMT</pubDate>
      <description>&lt;p&gt;
Just saw on &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;amp;url=http%3a%2f%2fwww.twitter.com%2f" target="_blank"&gt;Twitter&lt;/a&gt; that
there’s a new version of the &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;amp;url=http%3a%2f%2fajaxcontroltoolkit.codeplex.com%2fRelease%2fProjectReleases.aspx%3fReleaseId%3d27326" target="_blank"&gt;ASP.NET
AJAX Control toolkit&lt;/a&gt; available on &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;amp;url=http%3a%2f%2fwww.codeplex.com%2f" target="_blank"&gt;codeplex&lt;/a&gt;.
There are 3 new controls available:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTMLEditor&lt;/strong&gt;: The HTMLEditor control allows you to easily create and
edit HTML content. You can edit in design mode, as a rich text editor, or in source
view to edit the HTML markup directly. &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;amp;url=http%3a%2f%2fwww.asp.net%2fAJAX%2fAjaxControlToolkit%2fSamples%2fHTMLEditor%2fHTMLEditor.aspx" target="_blank"&gt;HTMLEditor
demonstration&lt;/a&gt;. 
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ComboBox&lt;/strong&gt;: The ComboBox control provides a DropDownList of items,
combined with TextBox. Different modes determine the interplay between the text entry
and the list of items. &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;amp;url=http%3a%2f%2fwww.asp.net%2fAJAX%2fAjaxControlToolkit%2fSamples%2fComboBox%2fComboBox.aspx" target="_blank"&gt;ComboBox
demonstration&lt;/a&gt;. 
&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ColorPicker&lt;/strong&gt;: The ColorPicker Control Extender can be attached to
any ASP.NET TextBox control. It provides client-side color-picking functionality with
UI in a popup control. &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;amp;url=http%3a%2f%2fwww.asp.net%2fAJAX%2fAjaxControlToolkit%2fSamples%2fColorPicker%2fColorPicker.aspx" target="_blank"&gt;ColorPicker
demonstration&lt;/a&gt;. 
&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Be sure to also check out the &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;amp;url=http%3a%2f%2fwww.asp.net%2flearn%2fajax-videos%2f%23AjaxControlToolkit" target="_blank"&gt;new
videos&lt;/a&gt; dedicated for these controls and their &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;amp;url=http%3a%2f%2fwww.asp.net%2flearn%2fajax%2f%23ajaxcontroltoolkit" target="_blank"&gt;new
tutorials&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
There’s also now a new tutorial available on &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349&amp;amp;url=http%3a%2f%2fwww.asp.net%2flearn%2fAjax-Control-Toolkit%2ftutorial-49-cs.aspx" target="_blank"&gt;Creating
a Custom AJAX Control Toolkit Control Extender&lt;/a&gt;. Be sure to check it out.
&lt;/p&gt;
&lt;p&gt;
Grz, Kris.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=773f27cb-f83a-447f-8575-db9b5f7a7349" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,773f27cb-f83a-447f-8575-db9b5f7a7349.aspx</comments>
      <category>AJAX Control Toolkit</category>
      <category>CodePlex</category>
    </item>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=ce6a5ce1-4146-4e2c-9f44-02e94016c471</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,ce6a5ce1-4146-4e2c-9f44-02e94016c471.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,ce6a5ce1-4146-4e2c-9f44-02e94016c471.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=ce6a5ce1-4146-4e2c-9f44-02e94016c471</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just read on twitter that <a href="http://blog.krisvandermast.com/ct.ashx?id=ce6a5ce1-4146-4e2c-9f44-02e94016c471&amp;url=http%3a%2f%2fvisitmix.com%2fArticles%2fGlimmer-a-jQuery-Interactive-Design-Tool" target="_blank">Glimmer</a> got
out today. 
</p>
        <p>
Taken from the release announcement:
</p>
        <p>
          <em>Glimmer: a jQuery Interactive Design Tool is a prototype from the Mix Online Labs
which makes jQuery accessible through a visual tool. The objective for Glimmer is
pretty simple: to enable the power of jQuery through an interactive design surface.
If jQuery is the "write less, do more” JavaScript library, then Glimmer is the
“write none, do more” jQuery design tool. Glimmer has three core audiences: power
users, designers and developers.</em>
        </p>
        <p>
          <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="304" height="228">
            <param name="source" value="http://channel9.msdn.com/App_Themes/default/VideoPlayer2009_02_24.xap" />
            <param name="initParams" value="m=http://mschannel9.vo.msecnd.net/o9/mix/labs/glimmer/glimmer.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://mschannel9.vo.msecnd.net/o9/mix/labs/glimmer/glimmerVideo.jpg, postid=0" />
            <param name="background" value="#00FFFFFF" />
            <a href="http://blog.krisvandermast.com/ct.ashx?id=ce6a5ce1-4146-4e2c-9f44-02e94016c471&amp;url=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkID%3d124807" style="text-decoration: none;">
              <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" />
            </a>
          </object>
        </p>
        <p>
This is a video overview of the features.
</p>
        <p>
The team behind it had extensibility in mind so it’s possible to create custom wizards
yourself. There are samples available and another great thing: the source code’s going
to be available on codeplex! According to the video it’s already there but when I
did a quick search I didn’t get a result yet.
</p>
        <p>
Update: perhaps the video was wrong as when I downloaded the bits I noticed that there
was also a download link to the source on <a href="http://blog.krisvandermast.com/ct.ashx?id=ce6a5ce1-4146-4e2c-9f44-02e94016c471&amp;url=http%3a%2f%2fcode.msdn.microsoft.com%2fglimmer%2fRelease%2fProjectReleases.aspx%3fReleaseId%3d2578" target="_blank">code.msdn.microsoft.com</a>.
</p>
        <p>
I just downloaded and installed it and gave it a test spin. It looks pretty good.
I hope to give a more deep dive testing next weekend.
</p>
        <p>
Grz, Kris.
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=ce6a5ce1-4146-4e2c-9f44-02e94016c471" />
      </body>
      <title>Glimmer got out</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,ce6a5ce1-4146-4e2c-9f44-02e94016c471.aspx</guid>
      <link>http://blog.krisvandermast.com/GlimmerGotOut.aspx</link>
      <pubDate>Tue, 28 Apr 2009 19:15:34 GMT</pubDate>
      <description>&lt;p&gt;
Just read on twitter that &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=ce6a5ce1-4146-4e2c-9f44-02e94016c471&amp;amp;url=http%3a%2f%2fvisitmix.com%2fArticles%2fGlimmer-a-jQuery-Interactive-Design-Tool" target="_blank"&gt;Glimmer&lt;/a&gt; got
out today. 
&lt;/p&gt;
&lt;p&gt;
Taken from the release announcement:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Glimmer: a jQuery Interactive Design Tool is a prototype from the Mix Online Labs
which makes jQuery accessible through a visual tool. The objective for Glimmer is
pretty simple: to enable the power of jQuery through an interactive design surface.
If jQuery is the &amp;quot;write less, do more” JavaScript library, then Glimmer is the
“write none, do more” jQuery design tool. Glimmer has three core audiences: power
users, designers and developers.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="304" height="228"&gt;
&lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/VideoPlayer2009_02_24.xap" /&gt;
&lt;param name="initParams" value="m=http://mschannel9.vo.msecnd.net/o9/mix/labs/glimmer/glimmer.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://mschannel9.vo.msecnd.net/o9/mix/labs/glimmer/glimmerVideo.jpg, postid=0" /&gt;
&lt;param name="background" value="#00FFFFFF" /&gt;
&lt;a href="http://blog.krisvandermast.com/ct.ashx?id=ce6a5ce1-4146-4e2c-9f44-02e94016c471&amp;amp;url=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkID%3d124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; 
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;
This is a video overview of the features.
&lt;/p&gt;
&lt;p&gt;
The team behind it had extensibility in mind so it’s possible to create custom wizards
yourself. There are samples available and another great thing: the source code’s going
to be available on codeplex! According to the video it’s already there but when I
did a quick search I didn’t get a result yet.
&lt;/p&gt;
&lt;p&gt;
Update: perhaps the video was wrong as when I downloaded the bits I noticed that there
was also a download link to the source on &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=ce6a5ce1-4146-4e2c-9f44-02e94016c471&amp;amp;url=http%3a%2f%2fcode.msdn.microsoft.com%2fglimmer%2fRelease%2fProjectReleases.aspx%3fReleaseId%3d2578" target="_blank"&gt;code.msdn.microsoft.com&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I just downloaded and installed it and gave it a test spin. It looks pretty good.
I hope to give a more deep dive testing next weekend.
&lt;/p&gt;
&lt;p&gt;
Grz, Kris.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=ce6a5ce1-4146-4e2c-9f44-02e94016c471" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,ce6a5ce1-4146-4e2c-9f44-02e94016c471.aspx</comments>
      <category>Glimmer</category>
      <category>jQuery</category>
      <category>MIX</category>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=1a981db1-0c09-4cac-94c8-994e7ba61075</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,1a981db1-0c09-4cac-94c8-994e7ba61075.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,1a981db1-0c09-4cac-94c8-994e7ba61075.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=1a981db1-0c09-4cac-94c8-994e7ba61075</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last year it was only a half day but apparently this year it’s going to be a full
blown day of content by several of Belgian user groups. Keep June 25th reserved for
this day.
</p>
        <p>
Read more about it here as long as the new site’s not up and running: <a title="http://www.communityday.be/CD/" href="http://blog.krisvandermast.com/ct.ashx?id=1a981db1-0c09-4cac-94c8-994e7ba61075&amp;url=http%3a%2f%2fwww.communityday.be%2fCD%2f" target="_blank">http://www.communityday.be/CD/</a>.
</p>
        <p>
Grz, Kris.
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=1a981db1-0c09-4cac-94c8-994e7ba61075" />
      </body>
      <title>New Belgian Community Day coming up</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,1a981db1-0c09-4cac-94c8-994e7ba61075.aspx</guid>
      <link>http://blog.krisvandermast.com/NewBelgianCommunityDayComingUp.aspx</link>
      <pubDate>Fri, 17 Apr 2009 08:55:48 GMT</pubDate>
      <description>&lt;p&gt;
Last year it was only a half day but apparently this year it’s going to be a full
blown day of content by several of Belgian user groups. Keep June 25th reserved for
this day.
&lt;/p&gt;
&lt;p&gt;
Read more about it here as long as the new site’s not up and running: &lt;a title="http://www.communityday.be/CD/" href="http://blog.krisvandermast.com/ct.ashx?id=1a981db1-0c09-4cac-94c8-994e7ba61075&amp;amp;url=http%3a%2f%2fwww.communityday.be%2fCD%2f" target="_blank"&gt;http://www.communityday.be/CD/&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Grz, Kris.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=1a981db1-0c09-4cac-94c8-994e7ba61075" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,1a981db1-0c09-4cac-94c8-994e7ba61075.aspx</comments>
      <category>Belgium</category>
      <category>Community Day</category>
    </item>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=9a702c94-3af2-449d-b44f-3b9b178ad1db</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,9a702c94-3af2-449d-b44f-3b9b178ad1db.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,9a702c94-3af2-449d-b44f-3b9b178ad1db.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9a702c94-3af2-449d-b44f-3b9b178ad1db</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blog.krisvandermast.com/ct.ashx?id=9a702c94-3af2-449d-b44f-3b9b178ad1db&amp;url=http%3a%2f%2fwww.red-gate.com%2fproducts%2fants_profiler%2fboost_app_performance_ebook5.htm%3futm_source%3dinfoq%26utm_medium%3dtextad%26utm_term%3d1506%26utm_content%3dboostappperf-ebook2%26utm_campaign%3dantsprofiler" target="_blank">Grab
your copy here</a>.
</p>
        <p>
          <a href="http://blog.krisvandermast.com/ct.ashx?id=9a702c94-3af2-449d-b44f-3b9b178ad1db&amp;url=http%3a%2f%2fwww.red-gate.com%2fproducts%2fants_profiler%2fboost_app_performance_ebook5.htm%3futm_source%3dinfoq%26utm_medium%3dtextad%26utm_term%3d1506%26utm_content%3dboostappperf-ebook2%26utm_campaign%3dantsprofiler">
            <img style="display: inline" title="illustratedcsharp" border="0" alt="illustratedcsharp" src="http://blog.krisvandermast.com/content/binary/WindowsLiveWriter/IllustratedC2008asafreeeBookdownloadavai_CDCC/illustratedcsharp_3.gif" width="110" height="144" />
          </a>
        </p>
        <p>
Grz, Kris.
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=9a702c94-3af2-449d-b44f-3b9b178ad1db" />
      </body>
      <title>Illustrated C# 2008 as a free eBook download available</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,9a702c94-3af2-449d-b44f-3b9b178ad1db.aspx</guid>
      <link>http://blog.krisvandermast.com/IllustratedC2008AsAFreeEBookDownloadAvailable.aspx</link>
      <pubDate>Wed, 15 Apr 2009 12:36:28 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blog.krisvandermast.com/ct.ashx?id=9a702c94-3af2-449d-b44f-3b9b178ad1db&amp;amp;url=http%3a%2f%2fwww.red-gate.com%2fproducts%2fants_profiler%2fboost_app_performance_ebook5.htm%3futm_source%3dinfoq%26utm_medium%3dtextad%26utm_term%3d1506%26utm_content%3dboostappperf-ebook2%26utm_campaign%3dantsprofiler" target="_blank"&gt;Grab
your copy here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://blog.krisvandermast.com/ct.ashx?id=9a702c94-3af2-449d-b44f-3b9b178ad1db&amp;amp;url=http%3a%2f%2fwww.red-gate.com%2fproducts%2fants_profiler%2fboost_app_performance_ebook5.htm%3futm_source%3dinfoq%26utm_medium%3dtextad%26utm_term%3d1506%26utm_content%3dboostappperf-ebook2%26utm_campaign%3dantsprofiler"&gt;&lt;img style="display: inline" title="illustratedcsharp" border="0" alt="illustratedcsharp" src="http://blog.krisvandermast.com/content/binary/WindowsLiveWriter/IllustratedC2008asafreeeBookdownloadavai_CDCC/illustratedcsharp_3.gif" width="110" height="144" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Grz, Kris.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=9a702c94-3af2-449d-b44f-3b9b178ad1db" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,9a702c94-3af2-449d-b44f-3b9b178ad1db.aspx</comments>
      <category>Books</category>
      <category>Downloads</category>
      <category>Free</category>
    </item>
    <item>
      <trackback:ping>http://blog.krisvandermast.com/Trackback.aspx?guid=2e322f79-ac11-4d47-8faa-bd1b2cb9aad7</trackback:ping>
      <pingback:server>http://blog.krisvandermast.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.krisvandermast.com/PermaLink,guid,2e322f79-ac11-4d47-8faa-bd1b2cb9aad7.aspx</pingback:target>
      <dc:creator>Kris van der Mast</dc:creator>
      <wfw:comment>http://blog.krisvandermast.com/CommentView,guid,2e322f79-ac11-4d47-8faa-bd1b2cb9aad7.aspx</wfw:comment>
      <wfw:commentRss>http://blog.krisvandermast.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2e322f79-ac11-4d47-8faa-bd1b2cb9aad7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Taken from the download site:
</p>
        <p>
          <em>SQL Server 2008 Service Pack 1 (SP1) is now available. You can use these packages
to upgrade any SQL Server 2008 edition. 
<br /><b>Note:</b>We remain committed to our plans to keep service packs contained, focusing
on essential updates only, primarily a Roll-up of Cumulative Update 1 to 3, Quick
Fix Engineering (QFE) updates, as well as fixes to issues reported through the SQL
Server community. While keeping product changes contained, we have made significant
investments to ease deployment and management of Service Packs: </em>
        </p>
        <ul>
          <li>
            <em>Slipstream – You are now able to integrate the base installation with service
packs (or Hotfixes) and install in a single step. </em>
          </li>
          <li>
            <em>Service Pack Uninstall – You are now able to uninstall only the Service Pack (without
removing the whole instance) </em>
          </li>
          <li>
            <em>Report Builder 2.0 Click Once capability </em>
          </li>
        </ul>
        <p>
Download it <a href="http://blog.krisvandermast.com/ct.ashx?id=2e322f79-ac11-4d47-8faa-bd1b2cb9aad7&amp;url=http%3a%2f%2fwww.microsoft.com%2fdownloads%2fdetails.aspx%3fdisplaylang%3den%26FamilyID%3d66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19" target="_blank">here</a>.
</p>
        <p>
Grz, Kris.
</p>
        <img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=2e322f79-ac11-4d47-8faa-bd1b2cb9aad7" />
      </body>
      <title>SQL Server 2008 Service pack 1 available for download</title>
      <guid isPermaLink="false">http://blog.krisvandermast.com/PermaLink,guid,2e322f79-ac11-4d47-8faa-bd1b2cb9aad7.aspx</guid>
      <link>http://blog.krisvandermast.com/SQLServer2008ServicePack1AvailableForDownload.aspx</link>
      <pubDate>Sun, 12 Apr 2009 18:05:17 GMT</pubDate>
      <description>&lt;p&gt;
Taken from the download site:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;SQL Server 2008 Service Pack 1 (SP1) is now available. You can use these packages
to upgrade any SQL Server 2008 edition. 
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt;We remain committed to our plans to keep service packs contained, focusing
on essential updates only, primarily a Roll-up of Cumulative Update 1 to 3, Quick
Fix Engineering (QFE) updates, as well as fixes to issues reported through the SQL
Server community. While keeping product changes contained, we have made significant
investments to ease deployment and management of Service Packs: &lt;/em&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Slipstream – You are now able to integrate the base installation with service
packs (or Hotfixes) and install in a single step. &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Service Pack Uninstall – You are now able to uninstall only the Service Pack (without
removing the whole instance) &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Report Builder 2.0 Click Once capability &lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Download it &lt;a href="http://blog.krisvandermast.com/ct.ashx?id=2e322f79-ac11-4d47-8faa-bd1b2cb9aad7&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fdownloads%2fdetails.aspx%3fdisplaylang%3den%26FamilyID%3d66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19" target="_blank"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Grz, Kris.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.krisvandermast.com/aggbug.ashx?id=2e322f79-ac11-4d47-8faa-bd1b2cb9aad7" /&gt;</description>
      <comments>http://blog.krisvandermast.com/CommentView,guid,2e322f79-ac11-4d47-8faa-bd1b2cb9aad7.aspx</comments>
      <category>Microsoft</category>
      <category>Service pack</category>
      <category>SQL Server</category>
    </item>
  </channel>
</rss>