I came across a good blog post by Scott explaining in depth how the ASP.NET 4 will deal with the client-side IDs stuffs.
With a few words :
- AutoID—Renders the output as in .NET 3.5 (auto-generated IDs which will still render prefixes like ctrl00 for compatibility)
- Predictable (Default)— Trims any “ctl00” ID string and if a list/container control concatenates child ids (example: id=”ParentControl_ChildControl”)
- Static—Hands over full ID naming control to the developer – whatever they set as the ID of the control is what is rendered (example: id=”JustMyId”)
- Inherit—Tells the control to defer to the naming behavior mode of the parent container control.