I did several SharePoint customizations with the focus on making them deployable. Although SharePoint 2007 is way better than previous versions, this can still be a big challenge, as there are a lot of hard-wired behaviors you have to work around.
This also applies to List forms. When using SharePoint Designer, customizing these forms is no problem. But when deploying them together with a custom list, the fun starts.
The problem is that SharePoint always needs a List Web Part in the page. If this Web Part is not included SharePoint will add it automatically. In my pages I also needed to use other means to display data from the list, so I had to replace the standard forms with custom forms.
When using SharePoint Designer you are able to manually remove this standard Web Part and all is fine from there on.
The only way around this problem is to remove the List Web Part when the custom form is displayed – this is done via some code behind. In short, I created a class that will act as my page template and all my custom pages will derive from it.
In the next part I will show in detail how this is done. In the end we will have a deployable solution that contains a custom list using custom forms.
Here some interesting links for forms customization:
Creating Custom List Forms for Creating, Editing, or Displaying a List Item
Customize the "NewForm.aspx" page for a SharePoint List
Deploy Custom List Forms in Sharepoint - Part II