
I created a simple Google gadget to show me how much money I have left before my caffeine headache kicks in. It’s a nice addition to my iGoogle account.
Undoubtedly you’ve heard of the app_offline.htm file by now. If you haven’t, you can read more about it on ScottGu’s blog post. This technique has been one of my favorite tricks for many years. From time to time, like all of us, I need to take down a high profile site to apply some “enhancements” and I unfortunately can’t wean users off gracefully. I always feel bad when I publish that file to the server, knowing there could be hundreds of users sitting at, in their mind, an inexcusable system maintenance page.
So what are we to do?
I was recently searching for a way to convert LLBLGenPro Entities to JSON when I ran across Josh’s approach. I like the approach but thought there must be an easier way. This approach requires LLBLGenPro 2.6 or above and .NET 3.0.
Here’s an example
LinqMetaData metaData = new LinqMetaData();
var q = from customer in metaData.Customer
where customer.Id == customerId
select new { id = customer.Id, name = p.FullName };
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(q);
Here’s another example with a 1:m return:
LinqMetaData metaData = new LinqMetaData();
var q = from meeting in metaData.ReviewMeeting
select new
{
CreatedBy = meeting.CreatedBy,
ReviewProvider = from providers in meeting.ReviewProvider
select new { ProviderName = providers.FullName }
};
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(q);
Nice thing about using the new linq features in LLBLGenPro is you’re only bringing back the data you care about. Yes, you could always ignore fields, but isn’t it easier to tell it what you want instead of what you don’t want?
Thoughts? I’d love to hear them.
I recently built a Http Handler for an Asp.net application that needed to generate image thumbnails from different image types on the fly. Sounds easy enough, right?
Well it was a simple task until I tried to generate a thumbnail from a gif. After hours and hours trying to figure out how to improve the resolution I found a great article addressing this particular issue. Read more
The first thing you want to do is always set your UpdatePanel’s UpdateMode to Conditional. By default UpdateMode is set to Always which is great when you’re first learning, but not efficient. Why? Because every time a postback is triggered, your update panel reloads, which 9 times out of 10, isn’t what you want.
The trick to setting up two different UpdatePanels is this. Lets say you have an UpdatePanel containing a GridView in one ContentPlaceHolder displaying a customer’s order history. You have another UpdatePanel in another ContentPlaceHolder that will display the order details when an order is selected.