Chapter 9. Programming Web Parts

Programming web parts is a lot like programming ASP.NET custom controls, so if you’re already familiar with ASP.NET you have a huge head start on learning web part programming. If not, there’s a steep learning curve, and I don’t have space here to address everything you need to know. What I can do is build you a better on-ramp to the information through a series of examples that demonstrate the major programming tasks. For a complete understanding, however, you’ll need a separate (and fairly thick) book.

Before you begin, you should set up your environment as described in Chapter 8. This chapter assumes that you’ve already done that and are familiar with the steps covered in Chapter 8. You’ll also need to know .NET and Visual Basic .NET or Visual C# for this chapter to be of much use. I show the examples in Visual Basic .NET, but equivalent C# samples are available at

Understanding Web Parts

Web parts are based on ASP.NET web controls. In fact, the WebPart class inherits from System.Web.UI.Control. That means most of the programming issues of composition, lifetime, state, and server versus client-side processing are the same. In case you’re not familiar with those concepts, here’s a brief synopsis:


Web parts are made up of other components—mainly ASP.NET web controls, HTML controls, literal strings, and client-side scripts. Components are assembled in a Controls collection and then rendered ...

Get Essential SharePoint now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.