<?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: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-28919248</id><updated>2012-02-01T14:11:23.860+01:00</updated><title type='text'>Vault of Thoughts</title><subtitle type='html'>My random thoughts on programming and software development. ASP.NET, C#, Best Practices and other stuff.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28919248.post-115520714490574784</id><published>2006-08-10T12:51:00.000+02:00</published><updated>2006-08-10T12:52:24.916+02:00</updated><title type='text'>Visual Studio Code Snippets</title><summary type='text'>I have posted an article about Visual Studio Code Snippets it is available here.</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115520714490574784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115520714490574784' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115520714490574784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115520714490574784'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/08/visual-studio-code-snippets.html' title='Visual Studio Code Snippets'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115503790975910941</id><published>2006-08-08T13:49:00.000+02:00</published><updated>2006-08-08T13:51:49.776+02:00</updated><title type='text'>ASP.NET Controls Pack</title><summary type='text'>I have posted a new article containing a couple of controls I use on a daily basis. It can be found here.</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115503790975910941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115503790975910941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115503790975910941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115503790975910941'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/08/aspnet-controls-pack.html' title='ASP.NET Controls Pack'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115494532293642531</id><published>2006-08-07T11:22:00.000+02:00</published><updated>2006-08-07T12:08:42.953+02:00</updated><title type='text'>I have moved my blog</title><summary type='text'>I have moved my blog to a new address. Expect all new posts to appear there. I will keep posting here also for some time, until I get properly indexed in google :-).</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115494532293642531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115494532293642531' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115494532293642531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115494532293642531'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/08/i-have-moved-my-blog.html' title='I have moved my blog'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115452461678740288</id><published>2006-08-02T15:15:00.000+02:00</published><updated>2006-08-02T15:55:26.696+02:00</updated><title type='text'>Visual Studio 2005, LINQ and Refactoring Problems</title><summary type='text'>I haven't played with it a lot but but the most obvious was the far from complete support from the IDE. Given it is not a complete product I'm not blaming MS for it. What I blame MS for is the fact that installing LINQ is a destructive process i.e.: it damages some of the existing features of VS 2005.For me the One thing that hurt the most was the fact that the refactoring SmartTags stopped </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115452461678740288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115452461678740288' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115452461678740288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115452461678740288'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/08/visual-studio-2005-linq-and.html' title='Visual Studio 2005, LINQ and Refactoring Problems'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115442945332184174</id><published>2006-08-01T12:24:00.000+02:00</published><updated>2006-08-01T14:22:52.156+02:00</updated><title type='text'>Strongly Typed Templated Controls</title><summary type='text'>All of us who have been using any kind of ASP.NET Templated Controls such as FormView, sooner or later come to a problem of extracting value from a field inside a template. For example when you are using a FormView control and want to programatically access a control inside one of the templates. What are the options? You have to resort to some kind of FindControl calls which are way from perfect.</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115442945332184174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115442945332184174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115442945332184174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115442945332184174'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/08/strongly-typed-templated-controls.html' title='Strongly Typed Templated Controls'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115434979743982523</id><published>2006-07-31T14:33:00.000+02:00</published><updated>2006-07-31T14:53:56.040+02:00</updated><title type='text'>Javascript in the address bar</title><summary type='text'>I have written few times about the little known features of variuos products etc. Today I will add one more to the list. There is a little known feature that web browsers have that can be very useful...The feature I'm talking about is the possibility to execute simple (or even complex) Javascript code from the address bar. While reading this go ahead and type something like:javascript: alert(2+2)</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115434979743982523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115434979743982523' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115434979743982523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115434979743982523'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/javascript-in-address-bar.html' title='Javascript in the address bar'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115347644138929014</id><published>2006-07-21T12:07:00.000+02:00</published><updated>2006-07-21T12:10:31.073+02:00</updated><title type='text'>Using Bind with nested properties</title><summary type='text'>ASP.NET 2.0 comes with a mechanism called two way databinding which allows us to declaratively bind a form element to a property of an object in such way that updates are supported. For the readonly display you typically use the Eval method in your aspx page. For the two way mechanism, you use the Bind keyword (or method?).Using the Bind keyword is really simple in most scenarios that you </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115347644138929014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115347644138929014' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115347644138929014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115347644138929014'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/using-bind-with-nested-properties.html' title='Using Bind with nested properties'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115331745835123411</id><published>2006-07-19T14:41:00.000+02:00</published><updated>2006-07-19T15:57:38.456+02:00</updated><title type='text'>Debugging with immediate window</title><summary type='text'>Sometimes you really need to debug some part of the application but you don't want to start it. For example you want to debug some lower layer of the application and the startup time takes too long. There is a quick solution for this problem. You can use the Immediate Window from Visual Studio to start a debug session. Just type a class name (with namespace) and a method name you want to call if </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115331745835123411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115331745835123411' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115331745835123411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115331745835123411'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/debugging-with-immediate-window.html' title='Debugging with immediate window'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115322366680167669</id><published>2006-07-18T13:51:00.000+02:00</published><updated>2006-07-18T13:54:26.816+02:00</updated><title type='text'>The Best resource on threading</title><summary type='text'>I'm not working with threads much since ASP.NET hides almost all of this complexity from me, but then I'm not working with ASP.NET exclusively. There are times when I need to do some multi-threading. In times like this I'm very happy that there are resources such as this available on the Internet. Currently It is the best article on threading I have seen. A good read.</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115322366680167669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115322366680167669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115322366680167669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115322366680167669'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/best-resource-on-threading.html' title='The Best resource on threading'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115314315558728029</id><published>2006-07-17T15:32:00.000+02:00</published><updated>2006-07-17T15:35:29.406+02:00</updated><title type='text'>Creating object instance without calling its constructor</title><summary type='text'>For a long time I have been in need of a mechanism that allows me to create an instance of an object without calling any of its constructors like the Activator.CreateInstance does. All this time I have also been aware of the fact that it can be done. My motives weren't strong enough to dig dipper in to the problem, though. Until recently...On my recent project I have enforced the use of a factory</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115314315558728029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115314315558728029' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115314315558728029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115314315558728029'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/creating-object-instance-without.html' title='Creating object instance without calling its constructor'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115312959159181481</id><published>2006-07-17T11:45:00.000+02:00</published><updated>2006-07-17T15:35:48.343+02:00</updated><title type='text'>Master Page ContentPlaceHolder inside head element</title><summary type='text'>Today I have been struggling with a typical table layed out page. It was a MasterPage with few ContentPlaceHolder controls - one for content, one for menu and few for other things. The problem was that the place holders were inside the td elements and some of the elements were made in such a way that they dropped shadow (background-image) and it was not possible from the content page to override </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115312959159181481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115312959159181481' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115312959159181481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115312959159181481'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/master-page-contentplaceholder-inside.html' title='Master Page ContentPlaceHolder inside head element'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115286817087405286</id><published>2006-07-14T10:43:00.000+02:00</published><updated>2006-07-14T11:09:30.883+02:00</updated><title type='text'>FireFox memory consumption</title><summary type='text'>While working on one of the web projects in asp.net that was targeted for FireFox browser only I have found an interesting thing. Take a look at the memory consumption of a FireFox process:Now, I wasn't doing anything unusual. Just testing how the site looks like in the browser. And I have only used 1 tab and only for this one application. Also the memory consumption got as high as 300mb in few </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115286817087405286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115286817087405286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115286817087405286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115286817087405286'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/firefox-memory-consumption.html' title='FireFox memory consumption'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115278680228193105</id><published>2006-07-13T11:47:00.000+02:00</published><updated>2006-07-13T12:33:22.296+02:00</updated><title type='text'>GetHashCode of the string class</title><summary type='text'>Being a curious person I have wondered how the GetHashCode method of the string class is implemented so I have performed some research. The results are interesting at least.First thing I have checked is if the GetHashCode method for the same string say "xxx" on two separate machines returns the same value - and in fact it does. This has led me to use the Reflector to see the internals of the </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115278680228193105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115278680228193105' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115278680228193105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115278680228193105'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/gethashcode-of-string-class.html' title='GetHashCode of the string class'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115263691509193963</id><published>2006-07-11T18:44:00.000+02:00</published><updated>2006-07-11T18:55:15.100+02:00</updated><title type='text'>A custom container control</title><summary type='text'>I have made some research on how to create a container control - a control which works in a similar way as the Panel control does. There are three key thing you have to do in order to make it work:Add ParseChildren(false) attributeAdd PersistChildren(true) attributeAdd Designer(typeof(PanelDesigner)) attribute where PanelDesigner is a custom class deriving from ContainerControlDesigner. I haven't</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115263691509193963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115263691509193963' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115263691509193963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115263691509193963'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/custom-container-control.html' title='A custom container control'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115227591574563674</id><published>2006-07-07T14:32:00.000+02:00</published><updated>2006-07-07T14:39:59.846+02:00</updated><title type='text'>Visual Studio mystery line</title><summary type='text'>From time to time a strange thing happens to my Visual Studio - a strange line appears on the screen in a random place and stays there until VS is restarted. It is only visible in VS, when switching to other programs it disappears. Switching between windows inside visual studio does not help.This is just one of the hidden and secret features of the VS that most people don't know about. The other </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115227591574563674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115227591574563674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115227591574563674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115227591574563674'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/visual-studio-mystery-line.html' title='Visual Studio mystery line'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115221619854921466</id><published>2006-07-06T21:30:00.000+02:00</published><updated>2006-07-06T22:08:41.690+02:00</updated><title type='text'>PathsBuildProvider update</title><summary type='text'>I have used my PathsBuildProvider a while now and I have came across some issues. I have found two major issues.The first issue had to do with the fact that from some strange reasonthe development web server treats root directory "/" in a differentway than IIS. So redirecting to /aplicationname/page.aspx hasdifferent effect those two servers. I have made a change so that theproperty is not </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115221619854921466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115221619854921466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115221619854921466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115221619854921466'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/pathsbuildprovider-update.html' title='PathsBuildProvider update'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115211480429504981</id><published>2006-07-05T17:47:00.000+02:00</published><updated>2006-07-05T17:53:24.303+02:00</updated><title type='text'>GetWebResourceUrl method catch</title><summary type='text'>After a lot of time spent on working with the Page.ClientScript.GetWebResourceUrl method made it work and it was good. I had my ImageCheckBox control which worked well using this method. The problem occured when I have inherited from the control in another project. It stopped to properly reference the javascript from the resource url. After short investigation I have found the that the problem </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115211480429504981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115211480429504981' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115211480429504981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115211480429504981'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/getwebresourceurl-method-catch.html' title='GetWebResourceUrl method catch'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115204113961188023</id><published>2006-07-04T21:09:00.000+02:00</published><updated>2006-07-04T21:32:47.266+02:00</updated><title type='text'>Optimizing rendered page size</title><summary type='text'>I do not often rename the controls that I do not use in the code behind code, so when I place a Label on a page it most often is named something like Label1. It does not make a big difference when you are not paying for the bandwidth and you only have a few controls on a form. Imagine however that you are working with Master Page and there you are using the defaul ContentPlaceHolder1 as a place </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115204113961188023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115204113961188023' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115204113961188023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115204113961188023'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/07/optimizing-rendered-page-size.html' title='Optimizing rendered page size'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115144134934109702</id><published>2006-06-27T22:39:00.000+02:00</published><updated>2006-06-27T22:49:09.350+02:00</updated><title type='text'>UrlProperty and skins</title><summary type='text'>While working with my validator controls that support displaying images, I have come to a situation where I needed the image to be themable. Easy you think?Not so easy as it should be. I have added the Themeable(true) attribute to an ImageUrl property, put a control on a page set everything in the skin file, compilled and... ??? No it didn't work. Url points to the same directory as specified in </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115144134934109702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115144134934109702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115144134934109702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115144134934109702'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/urlproperty-and-skins.html' title='UrlProperty and skins'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115089356542486038</id><published>2006-06-21T14:35:00.000+02:00</published><updated>2006-06-21T14:39:25.436+02:00</updated><title type='text'>0.(9) == 1</title><summary type='text'>Yesterday I have found the post about the 0.(9) (zero, and infinite number of nines) equals 1. All of you weak at heart don't read it :-).</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115089356542486038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115089356542486038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115089356542486038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115089356542486038'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/09-1.html' title='0.(9) == 1'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115083550641146951</id><published>2006-06-20T22:23:00.000+02:00</published><updated>2006-06-20T22:55:15.036+02:00</updated><title type='text'>Validation controls as images - workaround</title><summary type='text'>I have been trying to make the Validation controls show an image instead of plain text in case of an error. In doing so I have used Reflector a lot.My investigation had lead me to some conclusions and even more questions. The main problem here is that for some creepy reason, the BaseValidator inherits directly from a Label control!!! Now I have always been aware of this fact but it was until not </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115083550641146951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115083550641146951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115083550641146951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115083550641146951'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/validation-controls-as-images.html' title='Validation controls as images - workaround'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115083497643226249</id><published>2006-06-20T22:16:00.000+02:00</published><updated>2006-06-20T22:22:56.433+02:00</updated><title type='text'>RuntimeObjectEditor</title><summary type='text'>Few days ago I have found some tool which I can honestly say is almost as good as the famous Reflector.The tool is called RuntimeObjectEditor and does just that: it allows you to edit your applications at runtime. Amazing! You have to check it out!</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115083497643226249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115083497643226249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115083497643226249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115083497643226249'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/runtimeobjecteditor.html' title='RuntimeObjectEditor'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-115014736626857964</id><published>2006-06-12T23:11:00.000+02:00</published><updated>2006-06-12T23:58:04.660+02:00</updated><title type='text'>ClassPropertiesBuildProvider</title><summary type='text'>Some time ago I have posted an article about using Build Provider feature of ASP.NET 2.0 to build a strongly typed classes for accessing the files found in the application virtual directory. I myself have been using this provider ever since for every Response.Redirect(). I hope that it serves you as well.I have found yet two more ways of using the Build Providers to make your applications safer (</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/115014736626857964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=115014736626857964' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115014736626857964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/115014736626857964'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/classpropertiesbuildprovider.html' title='ClassPropertiesBuildProvider'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114961978616907089</id><published>2006-06-06T20:37:00.000+02:00</published><updated>2006-06-06T20:57:08.943+02:00</updated><title type='text'>When it isn't safe to use the Parent property of a control</title><summary type='text'>While working on MyDataSourceControl (see my other articles) I have found an interesting thing. It appears that when properties of a control are set to the values provided as attributes in the aspx file, the control is not yet very functional. The most important thing that my be not set is the Parent and other control-tree related properties of the control! It seams however that it is not always </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114961978616907089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114961978616907089' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114961978616907089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114961978616907089'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/when-it-isnt-safe-to-use-parent.html' title='When it isn&apos;t safe to use the Parent property of a control'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114961709947028182</id><published>2006-06-06T19:55:00.000+02:00</published><updated>2006-06-06T20:04:59.686+02:00</updated><title type='text'>Minor update to MyObjectDataSource</title><summary type='text'>Today I have discovered an error in MyObjectDataSource that caused NullReferenceException to sometimes appear when the TypeName was not provided. I was unable to tell what was causing the problem because on some pages the control worked fine and on the others it didn’t. Sources are available as usually here and here.</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114961709947028182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114961709947028182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114961709947028182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114961709947028182'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/minor-update-to-myobjectdatasource_06.html' title='Minor update to MyObjectDataSource'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114961263557668197</id><published>2006-06-06T18:50:00.000+02:00</published><updated>2006-06-06T19:05:30.363+02:00</updated><title type='text'>Strongly typed Session object</title><summary type='text'>When developing stateless applications sooner or later there comes a time, when you need to store some information between requests. In technologies such as PHP and ASP.NET there is a special object to serve this function. It is called the Session object in ASP.NET. Using it is very easy, just use an indexer in a form of a string to set and retrieve some information that you want to persist </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114961263557668197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114961263557668197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114961263557668197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114961263557668197'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/strongly-typed-session-object.html' title='Strongly typed Session object'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114960998529694887</id><published>2006-06-06T18:06:00.000+02:00</published><updated>2006-06-06T19:08:40.893+02:00</updated><title type='text'>The returnUrl pattern</title><summary type='text'>There comes a time when you have to develop a page which allows its users to go back to the page they came from. Keeping in mind the statlessnes of the web applications, it is hard to tell where our users came from since every page is (or at least should be) working on its own. Suppose that on one of the pages we want to put a kind of “Cancel” button which takes users back. One possible way of </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114960998529694887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114960998529694887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114960998529694887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114960998529694887'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/returnurl-pattern.html' title='The returnUrl pattern'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114952761450369508</id><published>2006-06-05T19:13:00.000+02:00</published><updated>2006-06-05T19:18:50.886+02:00</updated><title type='text'>When is the Select method of the DataSource called?</title><summary type='text'>Have you ever wondered when is the Select method of the ObjectDataSource called in the page life cycle? It probably depends on your particular page configuration, but on an ordinary page or user control, the select method gets called after the OnPreRender method and before the OnPreRenderComplete. Keep this in mind if you want to perform some custom logic after the whole control tree has been </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114952761450369508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114952761450369508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114952761450369508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114952761450369508'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/when-is-select-method-of-datasource.html' title='When is the Select method of the DataSource called?'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114952386119205586</id><published>2006-06-05T18:11:00.000+02:00</published><updated>2006-06-05T18:36:07.500+02:00</updated><title type='text'>MyObjectDataSource - update</title><summary type='text'>I have been using MyObjectDataSource control for some time now with great success. I have however observed one thing that was missing. The missing thing was the possibility to use the container on which the control was placed as the actual TypeName object which provides the methods for Select, Insert, Update and Delete. Oh, of course it was possible before by using the TypeName and providing the </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114952386119205586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114952386119205586' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114952386119205586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114952386119205586'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/myobjectdatasource-update.html' title='MyObjectDataSource - update'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114951955710951761</id><published>2006-06-05T16:59:00.000+02:00</published><updated>2006-06-05T16:59:17.113+02:00</updated><title type='text'>Position Absolute -The Positioning Context</title><summary type='text'>For all webmasters it is a bread and butter, but I have found that most ASP.NET developers are not very skilled the CSS stuff. The one thing that I often see is the lack of understanging for the position: absolute style. Many people think that what it does is positioning a given element absolutly on the page relatively to the whole page (the View Port). Mostly so, but that’s not the whole truth. </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114951955710951761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114951955710951761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114951955710951761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114951955710951761'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/position-absolute-positioning-context.html' title='Position Absolute -The Positioning Context'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114950137076101544</id><published>2006-06-05T11:43:00.000+02:00</published><updated>2006-06-05T12:10:18.270+02:00</updated><title type='text'>ASP.NET Server-Side Comments</title><summary type='text'>There is a little known feature in ASP.NET that is called the "Server-Side Comments". What is cool about this feature is that it works server side.Using Server-Side comment is similar to using Html comment in all respects but one. ASP.NET does not process any content a block commented in such a way.This may be very usefull if what you want is to temporarily disable some part of the page and that </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114950137076101544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114950137076101544' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114950137076101544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114950137076101544'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/aspnet-server-side-comments.html' title='ASP.NET Server-Side Comments'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114927344914952937</id><published>2006-06-02T20:37:00.000+02:00</published><updated>2006-06-03T13:12:51.233+02:00</updated><title type='text'>Understanding TDD by implementing MembershipProvider</title><summary type='text'>I have always wondered how practical if at all is writing the test first. Now, for me the most questionable thing was the fact that working in such a way I do not get any help from the editor. It came to me as a surprise that not only I do not miss the intellisense telling me what parameters I must pass to the method I’m about to call but I get a far more powerful feature instead...I had already </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114927344914952937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114927344914952937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114927344914952937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114927344914952937'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/understanding-tdd-by-implementing.html' title='Understanding TDD by implementing MembershipProvider'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114926714767356384</id><published>2006-06-02T18:52:00.000+02:00</published><updated>2006-06-03T13:10:09.036+02:00</updated><title type='text'>Why bother with exceptions</title><summary type='text'>Recently I have argued with one of my fellow developers. On the topic was the point of validating input parameters for null values. The standard practice is for a null valued parameter (that we do not expect to be null) to throw some kind of exception: ArgumentNullException - most likely. But what if we don’t check the parameter and let the execution flow? It is possible that in the few </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114926714767356384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114926714767356384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114926714767356384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114926714767356384'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/why-bother-with-exceptions.html' title='Why bother with exceptions'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114919241089887176</id><published>2006-06-01T21:57:00.000+02:00</published><updated>2006-06-01T22:06:50.900+02:00</updated><title type='text'>Generic sort utility</title><summary type='text'>I have blogged about a working alternative to the ObjectDataSource control. One of the feature provided by my solution is the InternalSort mechanism. I will provide a short description here of how it works. The source code is packed together with my data source control (here and here).The SortUtility provides a generic capability to sort any collection of custom objects. It does so without </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114919241089887176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114919241089887176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114919241089887176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114919241089887176'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/generic-sort-utility.html' title='Generic sort utility'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114919026516889912</id><published>2006-06-01T20:28:00.000+02:00</published><updated>2006-06-03T13:04:48.816+02:00</updated><title type='text'>ObjectDataSource - a working alternative</title><summary type='text'>I have blogged about the problems with ObjectDataSource control and proposed two solutions neither of which was perfect. Today I will present a complete working solution. The code and .dll for this project is accessible on two external sites: here and here.My solution deals with the problem of partially updating an object by providing a way for a developer to provide an instance of a business </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114919026516889912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114919026516889912' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114919026516889912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114919026516889912'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/06/objectdatasource-working-alternative.html' title='ObjectDataSource - a working alternative'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114910951086116865</id><published>2006-05-31T22:33:00.000+02:00</published><updated>2006-06-05T09:06:09.923+02:00</updated><title type='text'>Problems with DataSource controls</title><summary type='text'>I have blogged about Problems with ObjectDataSource control some time ago. That was a problem I was aware of for some time now. It was until recently when I have come across yet another problem. This time it is with how the DataSource controls handle the SelectParameters. I'm mainly working with business objects so I have little experience using the SqlDataSource but from what I have seen it uses</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114910951086116865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114910951086116865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114910951086116865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114910951086116865'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/05/problems-with-datasource-controls.html' title='Problems with DataSource controls'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114910463158775471</id><published>2006-05-31T21:22:00.000+02:00</published><updated>2006-05-31T22:26:55.010+02:00</updated><title type='text'>Problems with ObjectDataSource</title><summary type='text'>ASP.NET 2.0 comes bundled with a control called ObjectDataSource. At first it looks like it is a perfect solution for all OOP lovers like me. The problem is that in practice it is completly unusable.There are several problems with the control, the greatest of which are the fact that all objects that are to be updated by the control are required to have a default, parameterless constructor since </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114910463158775471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114910463158775471' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114910463158775471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114910463158775471'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/05/problems-with-objectdatasource.html' title='Problems with ObjectDataSource'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114910320066548767</id><published>2006-05-31T20:35:00.000+02:00</published><updated>2006-05-31T21:20:00.673+02:00</updated><title type='text'>Benefits of PathsBuildProvider</title><summary type='text'>I have posted an article in which I describe the PathsBuildProvider that reflects the local file system of a web application as a strongly typed class hierarchy. The most obvious benefit that the provider brings is that once you start to use it, you can say good bye to a 404 error resulting from Response.Redirect to a nonexisting page. It is ensured that the error will occure at compile time sine</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114910320066548767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114910320066548767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114910320066548767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114910320066548767'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/05/benefits-of-pathsbuildprovider.html' title='Benefits of PathsBuildProvider'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114902944499562499</id><published>2006-05-31T00:31:00.000+02:00</published><updated>2006-07-21T16:56:51.776+02:00</updated><title type='text'>PathsBuildProvider</title><summary type='text'>Some time ago I have found some articles about a feature of ASP.NET called the Build Providers. I especially liked the one about generating classes representing tables from the database. More on that one on Fritz Onion's blog.Since then I have found numerous ways of using build providers to make my life easier. Today I have built a library that will greatly simplify keeping all </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114902944499562499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114902944499562499' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114902944499562499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114902944499562499'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/05/pathsbuildprovider.html' title='PathsBuildProvider'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114897643676345495</id><published>2006-05-30T09:50:00.000+02:00</published><updated>2006-05-30T10:28:51.000+02:00</updated><title type='text'>The Recommended Books</title><summary type='text'>The books that I would really recommend reading are:ASP.NET and .NET Framework 1.1An absoulte must read: either "Programming Microsoft ASP.NET" by Dino Esposito or "Essential ASP.NET With Examples in C#" by Fritz Onion. As a complementary read I would suggest reading "Developing Microsoft ASP.NET Server Controls and Components" by Nikhil Kothari and Vandana Datye. The last one gave me a very good</summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114897643676345495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114897643676345495' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114897643676345495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114897643676345495'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/05/recommended-books.html' title='The Recommended Books'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28919248.post-114889802203258884</id><published>2006-05-29T12:19:00.000+02:00</published><updated>2006-06-07T18:39:54.556+02:00</updated><title type='text'>I need to write about few things...</title><summary type='text'>I need to write about few things: 1) ObjectDataSource control and my own implementation. (with source and binary) - DONE 2) My implementation of DataMapper.(with source and binary) 3) My validation component. (with source and binary) 4) BuildProvider for generating classes to enable developers to redirect to pages in a strongly typed way. - DONE 5) Bug in the DataList control that causes </summary><link rel='replies' type='application/atom+xml' href='http://mikeoff.blogspot.com/feeds/114889802203258884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28919248&amp;postID=114889802203258884' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114889802203258884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28919248/posts/default/114889802203258884'/><link rel='alternate' type='text/html' href='http://mikeoff.blogspot.com/2006/05/i-need-to-write-about-few-things.html' title='I need to write about few things...'/><author><name>Mikeon</name><uri>http://www.blogger.com/profile/04578119336523867504</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
