Another .NET blog


Converting a nuget package to Bower

If you’re an ASP.NET developer like me, you’ve come to know and love NuGet as your go to resource for managing external libraries. It has everything from ASP.NET MVC and Entity Framework, to jQuery and bootstrap. You may have heard that Visual Studio 2015 has out of the box support for Bower, a client side package manager for the web. It seems that Bower (and NPM) is what everyone else outside of the Microsoft ecosystem has been using for a while now, and Visual Studio is finally catching up.

read more

How I bought home theater audio for half price

I’m taking a break from web development topics today to talk about one of my other interests: home theater. It all started when I saw a pair of Pioneer bookshelf speakers on woot! for half the retail price. A few years back, I bought an all in one surround/DVD player/receiver. It was one of the few times that I didn’t do a lot of research before making an electronics purchase. Being somewhat of an audiophile, I was never happy with it. It worked, but the sound wasn’t crystal clear and there was very little bass. Fast forward to this past winter when I saw that pair of bookshelf speakers on woot!. Pioneer had always treated me well for car audio, so I was interested. I read tons of reviews, checked prices on Amazon.com (my online retailer of choice), and decided to make the purchase.

read more

The State of xVal for WebForms

I’ve been neglecting xVal for WebForms for a while now, mainly because I’m not sure which direction to take it. The xVal project is now deprecated in favor of the client side validation support introduced in ASP.NET MVC 2. This is obviously a problem since xVal for WebForms is built on top of xVal.

read more

I moved to WordPress

I moved my blog from BlogEngine.NET to WordPress. My main reason for moving away from BE is that there just aren’t that many themes and plugins available for the latest release, However, now that I’ve completed my transition I just saw that BE 2.0 RC is now available. And they also added Janko to their team, which leads me to believe that there will be some very cool themes available. Perhaps I should have waited?

read more

Visual Studio’s Transact-SQL Editor

I’ve been using Visual Studio for years, but I just learned something new that’s been around since at least Visual Studio 2005. It has a built in Transact-SQL Editor that you can use to write and execute SQL queries. From what I can tell, it looks like a component of SQL Server Management Studio 2008. You can access it from the Transact-SQL option in the Data menu, which opens the editor in a new tab.

read more

Confluence Universal Wiki Converter (UWC) for ScrewTurn

My company recently started a corporate wiki. We initially used ScrewTurn, an excellent open source ASP.NET application. It worked great for our department, but it wasn’t taking off for the rest of the company. Non-technical users just couldn’t get wiki markup and weren’t able to manage edits with the visual editor. So we turned to Confluence, an enterprise class commercial wiki. I won’t get into a feature comparison here. There are plenty of other sites devoted to that.

read more

WinHost, Sub-Domains, and IIS 7 URL Rewrite

I switched my web host from GoDaddy to WinHost this week. I only I ran into two issues. The first was how WinHost handles sub-domains. GoDaddy’s sub-domains point to a sub folder of the same name, e.g. http://sub.example.com points to \sub. You can then access sub-domain content from http://sub.example.com/abc or http://sub.example.com/sub/abc. There is no way that I could find to enforce either /abc or /sub/abc and often after arriving to the site via /abc you would be linked to /sub/abc.

read more

Google Chrome has Extensions

I’ve been using Google Chrome a lot more for casual browsing lately. I continue to use Firefox with Firebug for web development tasks, but for social networking and email I use Chrome. Perhaps its because I have loaded down Firefox with too many extensions, but I can’t get over how much faster Chrome is. And the latest beta (version 4) now supports extensions. So far I’ve added five extensions and I haven’t noticed a difference in speed.

read more

Steam Achievements - A Facebook app built with WCF and jQuery

I’ve been wanting to create a Facebook app for a while now, but I didn’t have time or a need to fill. I took some time off over the last week and I was able to come up with both. I’m avid PC gamer and most of my games are on Valve’s Steam platform. Steam has achievements for some of its biggest newer games like Left 4 Dead and Team Fortress 2. They are much like the Xbox 360 and PS3 achievements. But unlike the Xbox and PS3, there wasn’t a Facebook app that notifies your friends with your latest achievements. There was an app that worked great for a while back, but its now broken (and still using the steamachievements url suffix!).

read more

Send a Completed Form Email Without a StringBuilder

Have you ever had to create a large web form for users to fill out and then receive an email copy after its submitted? That can be tedious work. The first few times I did it, I used a StringBuilder to build the email HTML one control at a time. Later, I viewed the HTML output of the page and replaced all input controls with spans, and then put that HTML in a StringBuilder. Either of these methods work, but it gets real annoying when I later have to add a field or two to the form and therefore to the email HTML.

read more

My version of the MessageBox control

  • The close button’s client side onclick event wasn’t getting the correct client id when used inside a Master page. I moved the onclick addition to the Load event to correct it.
  • The message would not display when used inside an UpdatePanel. The Page.ClientScript.RegisterStartupScript method only works for synchronous (non-AJAX) post backs. The control now uses the ScriptManager.RegisterStartupScript method for async post backs.
read more

Converting DateTime to String and back

I spent about 20 frustrating minutes the other day wondering why a sql
query wasn’t selecting the record I wanted. Everything looked right
until I stepped through my code the 3rd time. Then I discovered my

read more

Using ASP.Net to open a new browser window – Part II, the web control

This a follow up to my previous post, Using ASP.Net to open a new browser window – Part I.
There I used a static helper class to register a javascript function to open a new browser window. I’ve scratched the static class and replaced it with a BrowserWindow class and a PopUpWindow WebControl. BrowserWindow simply encapsulates all of the parameters passed to RegisterOpenWindowScript(), and PopUpWindow registers the javascript function and the call to the function.

read more

Using ASP.Net to open a new browser window – Part I

I recently needed to add a ‘pop-up’ window to a website. Now I’m not a fan of javascript, never have been. I like my code to be type safe and compile. So I came up with a C# helper class to do the dirty work for me. I must give credit to where I found the idea. I saw something like this in Chapter 4 of Developing Web Applications with Microsoft VB .Net and VC# .Net by Jeff Webb and MS Corp. In this book they create BrowserWindow class and use it inside some javascript. I’ve take a different approach, so that I can avoid having to write the javascript in the future.

read more