Dave's Notebook

jQuery Expand/Collapse Using Head Tags

animal-010

I’ve spent a good chunk of the last two days working on an interesting project for one of my clients that I think the rest of the jQuery community could benefit from.

The task started when my client came to me with an existing script that was being used in a DotNetNuke system to expand and collapse content under head tags that was produced by an article editing system similar to the Text/HTML module.

Read More

VB.NET Hide Module Name

misc_vol3_064 Here’s a quick tip for those of you still using modules in your VB.NET applications.

If you create a module and don’t want to see the module name in your intellisense, you can hide it with an attribute.  This can be extremely useful when you have a lot of modules that would show up in your intellisense code and they don’t have names that conflict with each other.

Read More

CMS vs Code It Yourself

trav-064 This post has been percolating in my brain for several weeks now and I think it’s finally at the point where it’s “done.”  Well, see…

The problem area is this.  At what point and under what conditions would you write the code yourself vs. using a content management system?  And if you were to use a content management system, which one should you use and why?

Along the way I’ll tell you what my current choices are, but more importantly, I’ll tell you what my thought process is.  So even if you decide to use different tools than I do, you can ask the same questions to select the tools you have decided to use.

Read More

Tracking Down Performance Issues in ASP.NET

Last night, one of my clients assigned me a problem that I thought was going to require one solution, and in the end it was just poor programming. But the process reminded me of the need for good debugging skills. Just how do you know where the performance problem is? Too many programmers I know approach performance issues from the front end. “I know there is going to be a performance problem if I do it this way, so I’m going to do it that way instead.” But unless your theory was correct, you are very likely to spend extra time doing something you may not need to do. While solving problems is what makes programming fun for a lot of us, solving problems that don’t exist is a waste of time for the organizations we work for. My motto is:

Read More

Dispose, Finalize and SuppressFinalize

food-drk-017 I got the following question recently.

What is the difference between Dispose and SupressFinalize in garbage collection?”

The problem with this question is it assumes Dispose and SupressFinalize have similarities, which I’m sure is not what is being asked here.  So let’s rephrase it in terms that make sense.

I see three methods available to me in .NET that all seem to have something to do with garbage collection.  Can you explain what Dispose, Finalize, and SupressFinalize do and why I could use or call each one in my code?”

Read More

Multi-Step Processing in ASP.NET

B01I0045

I received the following question a few days ago but I’ve been so busy with billable work that I just haven’t had a chance to answer it until now.  Actually, I’m still busy, but I hate letting these questions go for too long.

“Right now I am working on a project where I have to screen a user.  This is a multi-step process.  At the end of the process I store the data back to the system.

Currently, I am storing all the options a user will select in a session variable and then finally using them at the last step.

Can you please suggest a better way to store this temporary data that does not require using a session? This type of situation comes up a lot.  We’ve used multiview to get it working.

Read More

jQuery - Loading Partial Content

misc_vol1_087 In previous posts, I’ve covered the core architecture of jQuery.  How it works.  How you call methods.  A brief overview of what’s available.

From here on out, we will focus more on specific solutions that jQuery can provide.  One of those is the ability to load partial content from the server and display it back in a section of our web page.

Read More